mirror of
https://github.com/cozystack/cozystack.git
synced 2026-10-26 21:17:32 +09:00
The shell translator rewrites test bodies and loses Bats reporting. The unit lane needs complete TAP results and JUnit reports without changing how live-cluster suites run. Sourced production helpers still need a dash pass, and unit test bodies need nounset without exporting shell options into subprocesses. Assisted-by: LLM Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
47 lines
1.6 KiB
Bash
Executable File
47 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bats
|
|
|
|
load test_helper
|
|
|
|
add_generator() {
|
|
root="$1"
|
|
dir="$2"
|
|
mkdir -p "$root/$dir"
|
|
printf 'generate:\n\t@printf "%%s\\n" "%s" >> "$${GEN_LOG}"\n' "$dir" > "$root/$dir/Makefile"
|
|
}
|
|
|
|
@test "discovers package generators across categories" {
|
|
script="$PWD/hack/pre-commit-generate-packages.sh"
|
|
root=$(mktemp -d)
|
|
add_generator "$root" packages/apps/app
|
|
add_generator "$root" packages/extra/extra
|
|
add_generator "$root" packages/library/library
|
|
add_generator "$root" packages/system/system
|
|
|
|
mkdir -p "$root/packages/system/no-generator"
|
|
printf '# generate:\n.PHONY: generate\nall:\n\t@:\n' > "$root/packages/system/no-generator/Makefile"
|
|
mkdir -p "$root/packages/system/system/charts/vendor"
|
|
printf 'generate:\n\t@printf "vendored\\n" >> "$${GEN_LOG}"\n' > "$root/packages/system/system/charts/vendor/Makefile"
|
|
|
|
(cd "$root" && GEN_LOG="$root/generators.log" "$script")
|
|
|
|
expected=$(printf '%s\n' packages/apps/app packages/extra/extra packages/library/library packages/system/system)
|
|
actual=$(sort "$root/generators.log")
|
|
[ "$actual" = "$expected" ]
|
|
rm -rf "$root"
|
|
}
|
|
|
|
@test "stops after a package generator fails" {
|
|
script="$PWD/hack/pre-commit-generate-packages.sh"
|
|
root=$(mktemp -d)
|
|
mkdir -p "$root/packages/apps/failing" "$root/packages/system/later"
|
|
printf 'generate:\n\t@false\n' > "$root/packages/apps/failing/Makefile"
|
|
printf 'generate:\n\t@touch "$${LATER_MARKER}"\n' > "$root/packages/system/later/Makefile"
|
|
|
|
rc=0
|
|
(cd "$root" && LATER_MARKER="$root/later-ran" "$script") || rc=$?
|
|
|
|
[ "$rc" -ne 0 ]
|
|
[ ! -e "$root/later-ran" ]
|
|
rm -rf "$root"
|
|
}
|