diff options
Diffstat (limited to 'users/zseri/store-ref-scanner/tests.nix')
-rw-r--r-- | users/zseri/store-ref-scanner/tests.nix | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/users/zseri/store-ref-scanner/tests.nix b/users/zseri/store-ref-scanner/tests.nix new file mode 100644 index 000000000000..a4c82fe3a936 --- /dev/null +++ b/users/zseri/store-ref-scanner/tests.nix @@ -0,0 +1,32 @@ +{ depot, lib, pkgs, ... }: + +let + parent = depot.users.zseri.store-ref-scanner; +in +pkgs.buildRustCrate { + pname = "store-ref-scanner-tests"; + inherit (parent) crateName src version edition; + buildTests = true; + postInstall = '' + set -ex + export RUST_BACKTRACE=1 + # recreate a file hierarchy as when running tests with cargo + # the source for test data + # build outputs + testRoot=target/debug + mkdir -p $testRoot + chmod +w -R . + # test harness executables are suffixed with a hash, + # like cargo does this allows to prevent name collision + # with the main executables of the crate + hash=$(basename $out) + ls -lasR $out + for file in $out/tests/*; do + f=$testRoot/$(basename $file)-$hash + cp $file $f + $f 2>&1 | tee -a $out/tests.log + done + rm -rf $out/tests + set +ex + ''; +} |