+10
-5
doc/build-helpers/testers.chapter.md
+10
-5
doc/build-helpers/testers.chapter.md
···+Run files through `shellcheck`, a static analysis tool for shell scripts, failing if there are any issues.·········+`name` will be required at a future point because it massively improves traceability of test failures, but is kept optional for now to avoid breaking existing usages.+The name of the derivation produced by the tester is `shellcheck-${name}` when `name` is supplied.All files in `src` will be checked, so you may want to provide `fileset`-based source instead of a whole directory.+A derivation that runs `shellcheck` on the given script(s), producing an empty output if no issues are found.
-3
doc/redirects.json
-3
doc/redirects.json
···
+3
doc/release-notes/rl-2505.section.md
+3
doc/release-notes/rl-2505.section.md
···- The hand written `perlPackages.SearchXapian` bindings have been dropped in favor of the (mostly compatible)+- [testers.shellcheck](https://nixos.org/manual/nixpkgs/unstable/#tester-shellcheck) now warns when `name` is not provided.- The `nixLog*` family of functions made available through the standard environment have been rewritten to prefix messages with both the debug level and the function name of the caller.The `nixLog` function, which logs unconditionally, was also re-introduced and modified to prefix messages with the function name of the caller.
+16
-20
pkgs/build-support/testers/shellcheck/tester.nix
+16
-20
pkgs/build-support/testers/shellcheck/tester.nix
···-isPath src && pathType src == "regular" # note that for strings this would have been IFD, which we prefer to avoid+lib.warn "testers.shellcheck: name will be required in a future release, defaulting to run-shellcheck" "run-shellcheck"+dontUnpack = true; # Unpack phase tries to extract an archive, which we don't want to do with source trees
+2
pkgs/build-support/testers/shellcheck/tests.nix
+2
pkgs/build-support/testers/shellcheck/tests.nix
······