mirror of
https://github.com/cozystack/cozystack.git
synced 2026-10-23 03:27:50 +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>
35 lines
1.7 KiB
Bash
35 lines
1.7 KiB
Bash
#!/usr/bin/env bats
|
|
# capi-providers-core ships the Cluster API core manifests twice: as
|
|
# files/core-components.yaml, which a reviewer reads, and as files/components.gz,
|
|
# which the chart mounts into the cluster. Both are edited by hand; this package
|
|
# has no `make components`. An edit to the YAML alone reviews cleanly and changes
|
|
# nothing in a cluster, which is how the startupProbe from #2946 stayed out of
|
|
# the shipped manager. This holds the two files to the same bytes.
|
|
#
|
|
# The comparison is on the decompressed bytes, so the gzip header plays no part
|
|
# in it. `gzip -n` is still the flag to regenerate with: without it the header
|
|
# carries a timestamp and every regeneration rewrites the committed blob even
|
|
# when the input has not changed.
|
|
|
|
load test_helper
|
|
|
|
REPO_ROOT="$(cd "$(dirname "${BATS_TEST_FILENAME:-$0}")/.." && pwd)"
|
|
FILES="$REPO_ROOT/packages/system/capi-providers-core/files"
|
|
|
|
@test "core provider components.gz matches core-components.yaml" {
|
|
[ -f "$FILES/core-components.yaml" ] || { echo "missing core-components.yaml" >&2; return 1; }
|
|
[ -f "$FILES/components.gz" ] || { echo "missing components.gz" >&2; return 1; }
|
|
|
|
local work; work="$(mktemp -d)"
|
|
gzip -dc "$FILES/components.gz" > "$work/decompressed.yaml"
|
|
if ! cmp -s "$work/decompressed.yaml" "$FILES/core-components.yaml"; then
|
|
echo "components.gz does not match core-components.yaml" >&2
|
|
echo "the chart mounts the blob, so the cluster would run what the YAML does not say" >&2
|
|
echo "regenerate: gzip -9 -n -c files/core-components.yaml > files/components.gz" >&2
|
|
diff "$work/decompressed.yaml" "$FILES/core-components.yaml" | head -20 >&2 || true
|
|
rm -rf "$work"
|
|
return 1
|
|
fi
|
|
rm -rf "$work"
|
|
}
|