## Summary - Introduces Terraform native tests (`terraform test`) alongside existing Bun tests - Migrates tests for modules: jetbrains, zed, and code-server - Removes Bun test files for these migrated modules only - Adds repo-wide test runner script for Terraform tests - Updates docs and new-module sample to reflect Terraform tests ## Transition plan - Mixed mode: Other modules retain Bun tests; CI should run both Bun and Terraform tests temporarily - Follow the linked epic to migrate remaining modules ## Test plan - Run: `./scripts/terraform_test_all.sh` (passes locally) - Bun tests still available for non-migrated modules ## Affected paths - registry/coder/modules/jetbrains/jetbrains.tftest.hcl - registry/coder/modules/zed/zed.tftest.hcl - registry/coder/modules/code-server/code-server.tftest.hcl - scripts/terraform_test_all.sh - examples/modules/MODULE_NAME.tftest.hcl - CONTRIBUTING.md Contributes to #308
27 lines
617 B
Bash
Executable File
27 lines
617 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# Find all directories that contain any .tftest.hcl files and run terraform test in each
|
|
|
|
run_dir() {
|
|
local dir="$1"
|
|
echo "==> Running terraform test in $dir"
|
|
(cd "$dir" && terraform init -upgrade -input=false -no-color > /dev/null && terraform test -no-color -verbose)
|
|
}
|
|
|
|
mapfile -t test_dirs < <(find . -type f -name "*.tftest.hcl" -print0 | xargs -0 -I{} dirname {} | sort -u)
|
|
|
|
if [[ ${#test_dirs[@]} -eq 0 ]]; then
|
|
echo "No .tftest.hcl tests found."
|
|
exit 0
|
|
fi
|
|
|
|
status=0
|
|
for d in "${test_dirs[@]}"; do
|
|
if ! run_dir "$d"; then
|
|
status=1
|
|
fi
|
|
done
|
|
|
|
exit $status
|