Skip to content

Commit 8cea369

Browse files
committed
tests: add cli test for init with target path
1 parent 31420fd commit 8cea369

File tree

1 file changed

+66
-47
lines changed

1 file changed

+66
-47
lines changed

devenv.nix

+66-47
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
1-
{ inputs, pkgs, lib, config, ... }: {
1+
{
2+
inputs,
3+
pkgs,
4+
lib,
5+
config,
6+
...
7+
}:
8+
{
29
env.DEVENV_NIX = inputs.nix.packages.${pkgs.stdenv.system}.nix;
310
# ignore annoying browserlists warning that breaks pre-commit hooks
411
env.BROWSERSLIST_IGNORE_OLD_DATA = "1";
@@ -48,11 +55,6 @@
4855
set -xe
4956
set -o pipefail
5057
51-
pushd examples/simple
52-
# this should fail since files already exist
53-
devenv init && exit 1
54-
popd
55-
5658
tmp="$(mktemp -d)"
5759
devenv init "$tmp"
5860
pushd "$tmp"
@@ -61,6 +63,17 @@
6163
popd
6264
rm -rf "$tmp"
6365
66+
# Test devenv init with target path
67+
tmp="$(mktemp -d)"
68+
pushd "$tmp"
69+
devenv init target
70+
test -z "$(ls -A1 | grep -v target)"
71+
pushd target
72+
devenv --override-input devenv path:${config.devenv.root}?dir=src/modules test
73+
popd
74+
popd
75+
rm -rf "$tmp"
76+
6477
# Test devenv integrated into bare Nix flake
6578
tmp="$(mktemp -d)"
6679
pushd "$tmp"
@@ -126,7 +139,9 @@
126139
{ pkgs, ... }: {
127140
128141
# Enable all languages tooling!
129-
${lib.concatStringsSep "\n " (map (lang: "languages.${lang}.enable = true;") (builtins.attrNames config.languages))}
142+
${lib.concatStringsSep "\n " (
143+
map (lang: "languages.${lang}.enable = true;") (builtins.attrNames config.languages)
144+
)}
130145
131146
# If you're missing a language, please contribute it by following examples of other languages <3
132147
}
@@ -138,12 +153,16 @@
138153
exec = ''
139154
cat > docs/services-all.md <<EOF
140155
\`\`\`nix
141-
${lib.concatStringsSep "\n " (map (lang: "services.${lang}.enable = true;") (builtins.attrNames config.services))}
156+
${lib.concatStringsSep "\n " (
157+
map (lang: "services.${lang}.enable = true;") (builtins.attrNames config.services)
158+
)}
142159
\`\`\`
143160
EOF
144161
cat > docs/languages-all.md <<EOF
145162
\`\`\`nix
146-
${lib.concatStringsSep "\n " (map (lang: "languages.${lang}.enable = true;") (builtins.attrNames config.languages))}
163+
${lib.concatStringsSep "\n " (
164+
map (lang: "languages.${lang}.enable = true;") (builtins.attrNames config.languages)
165+
)}
147166
\`\`\`
148167
EOF
149168
'';
@@ -162,55 +181,55 @@
162181
description = "Generate missing template markdown files";
163182
exec = ''
164183
165-
process_directory() {
166-
local nix_dir=$1
167-
local md_dir=$2
168-
local category=$3
184+
process_directory() {
185+
local nix_dir=$1
186+
local md_dir=$2
187+
local category=$3
169188
170-
nixFiles=($(ls $nix_dir/*.nix))
171-
mdFiles=($(ls $md_dir/*.md))
189+
nixFiles=($(ls $nix_dir/*.nix))
190+
mdFiles=($(ls $md_dir/*.md))
172191
173-
declare -a nixList
174-
declare -a mdList
192+
declare -a nixList
193+
declare -a mdList
175194
176-
# Remove extensions and populate lists
177-
for file in "''${nixFiles[@]}"; do
178-
baseName=$(basename "$file" .nix)
179-
nixList+=("$baseName")
180-
done
195+
# Remove extensions and populate lists
196+
for file in "''${nixFiles[@]}"; do
197+
baseName=$(basename "$file" .nix)
198+
nixList+=("$baseName")
199+
done
181200
182-
for file in "''${mdFiles[@]}"; do
183-
baseName=$(basename "$file" .md)
184-
mdList+=("$baseName")
185-
done
201+
for file in "''${mdFiles[@]}"; do
202+
baseName=$(basename "$file" .md)
203+
mdList+=("$baseName")
204+
done
186205
187-
IFS=$'\n' sorted_nix=($(sort <<<"''${nixList[*]}"))
188-
IFS=$'\n' sorted_md=($(sort <<<"''${mdList[*]}"))
206+
IFS=$'\n' sorted_nix=($(sort <<<"''${nixList[*]}"))
207+
IFS=$'\n' sorted_md=($(sort <<<"''${mdList[*]}"))
189208
190-
# Compare and create missing files
191-
missing_files=()
192-
for item in "''${sorted_nix[@]}"; do
193-
if [[ ! " ''${sorted_md[@]} " =~ " $item " ]]; then
194-
missing_files+=("$item")
195-
cat << EOF > "$md_dir/$item.md"
209+
# Compare and create missing files
210+
missing_files=()
211+
for item in "''${sorted_nix[@]}"; do
212+
if [[ ! " ''${sorted_md[@]} " =~ " $item " ]]; then
213+
missing_files+=("$item")
214+
cat << EOF > "$md_dir/$item.md"
196215
197216
198-
[comment]: # (Please add your documentation on top of this line)
217+
[comment]: # (Please add your documentation on top of this line)
199218
200-
@AUTOGEN_OPTIONS@
201-
EOF
202-
echo "Created missing file: $md_dir/$item.md"
203-
fi
204-
done
219+
@AUTOGEN_OPTIONS@
220+
EOF
221+
echo "Created missing file: $md_dir/$item.md"
222+
fi
223+
done
205224
206-
if [ ''${#missing_files[@]} -eq 0 ]; then
207-
echo "All $category docs markdown files are present."
208-
fi
209-
}
225+
if [ ''${#missing_files[@]} -eq 0 ]; then
226+
echo "All $category docs markdown files are present."
227+
fi
228+
}
210229
211-
process_directory "src/modules/languages" "docs/individual-docs/languages" "language"
212-
process_directory "src/modules/services" "docs/individual-docs/services" "service"
213-
process_directory "src/modules/process-managers" "docs/individual-docs/process-managers" "process manager"
230+
process_directory "src/modules/languages" "docs/individual-docs/languages" "language"
231+
process_directory "src/modules/services" "docs/individual-docs/services" "service"
232+
process_directory "src/modules/process-managers" "docs/individual-docs/process-managers" "process manager"
214233
'';
215234
};
216235

0 commit comments

Comments
 (0)