Skip to content

test: add functional tests for the alias/install-menu logic bugs - #11

Merged
grimaldi89 merged 1 commit into
fix/installer-path-bugsfrom
test/functional-test-suite
Jul 18, 2026
Merged

test: add functional tests for the alias/install-menu logic bugs#11
grimaldi89 merged 1 commit into
fix/installer-path-bugsfrom
test/functional-test-suite

Conversation

@grimaldi89

Copy link
Copy Markdown
Owner

Summary

Adds sandboxed functional tests (tests/lib.sh + tests/test_*.sh) covering the
bugs fixed in #<PR1_NUMBER>: alias path placeholder resolution, per-shell rc
file selection in persist_env.sh, and install.sh's menu discovery. Stacked on
top of fix/installer-path-bugs since these tests assert the fixed behavior.

Test plan

  • make lint / make test pass locally

The prior syntax + shellcheck checks couldn't have caught any of the
path/shell-detection bugs fixed in the last commit, since they're all
logic errors, not syntax errors. Add sandboxed functional tests instead:

- tests/lib.sh: shared sandbox/assertion helpers, incl. run_as_bash/
  run_as_zsh which spawn scripts with a genuine bash or zsh parent
  process so the scripts' own shell-detection heuristics see the shell
  we intend to test
- test_install_aliases.sh: __PERSONAL_UTILS_DIR__ placeholder resolves
  to the real repo path, and re-running doesn't duplicate aliases
- test_persist_env.sh: variables land in .bashrc under bash and .zshrc
  under zsh (not always .bashrc), and declining an overwrite prompt
  leaves the existing value untouched
- test_install_menu.sh: install.sh's menu no longer errors on the
  removed gcloud/ dir and still discovers tools/gcloud.sh; static
  regression guards for the airbyte.sh path fix and pipefail additions

make test now runs every tests/test_*.sh, and .github/workflows/test.yml
picks these up automatically since it already runs make lint && make test.
@grimaldi89
grimaldi89 merged commit 7c198e9 into fix/installer-path-bugs Jul 18, 2026
0 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant