nixos/activation: Fix shellcheck test failure

lib/test.nix relies on `fileset.toSource` which creates a source dir
with the files of interest. `testers.shellcheck` passes all the files in
the source dir to shellcheck. The issue is related to relative path
sourcing, i.e. `source ./lib.sh` where shellcheck cannot make any
assumptions about the working directory.

Options were:
1) Disable this warning with a directive
   Prior disabling in the tree:
    - pkgs/tools/nix/info/info.sh
    - nixos/modules/testing/test-instrumentation.nix

2) Set source-path to SCRIPTDIR with a directive
   https://github.com/koalaman/shellcheck/wiki/Directive#source-path

   Even though we don't enable external script following for shellcheck
   with `-x` flag given every file in the source dir is passed, this
   directive seems to capture the intent to help shellcheck a bit
   better.

Went with option 2.
This commit is contained in:
Berk D. Demir 2025-05-12 09:22:13 -07:00
parent 1f2b2b8ef5
commit e4bf5ce70d

View file

@ -26,6 +26,7 @@ onerr() {
}
trap onerr ERR
# shellcheck source-path=SCRIPTDIR
source ./lib.sh
(warn hi, this works >/dev/null) 2>&1 | grep -E $'.*warning:.* hi, this works' >/dev/null