{ lib, writeShellScript }:
let
  output = "hello";
in
(writeShellScript "test-script" ''
  echo ${lib.escapeShellArg output}
'').overrideAttrs
  (old: {
    checkPhase =
      old.checkPhase or ""
      + ''
        expected=${lib.escapeShellArg output}
        got=$("$target")
        if [[ "$got" != "$expected" ]]; then
          echo "wrong output: expected $expected, got $got"
          exit 1
        fi
      '';
  })
