diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-03-03 13:39:30 +0100 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-03-03 13:57:08 +0100 |
commit | 497997cc388ce791ca0b4dc55f46ab515e8fb5d9 (patch) | |
tree | 867053bb31858180d2b439d1c63c610c58be54ee /nixos/lib/testing.nix | |
parent | ad7c518e45221533e2094acb20fea6ade477da75 (diff) | |
download | nixlib-497997cc388ce791ca0b4dc55f46ab515e8fb5d9.tar nixlib-497997cc388ce791ca0b4dc55f46ab515e8fb5d9.tar.gz nixlib-497997cc388ce791ca0b4dc55f46ab515e8fb5d9.tar.bz2 nixlib-497997cc388ce791ca0b4dc55f46ab515e8fb5d9.tar.lz nixlib-497997cc388ce791ca0b4dc55f46ab515e8fb5d9.tar.xz nixlib-497997cc388ce791ca0b4dc55f46ab515e8fb5d9.tar.zst nixlib-497997cc388ce791ca0b4dc55f46ab515e8fb5d9.zip |
Move generation of coverage reports from nixos/lib/testing to releaseTools
Also, turn some stdenv adapters into setup hooks.
Diffstat (limited to 'nixos/lib/testing.nix')
-rw-r--r-- | nixos/lib/testing.nix | 54 |
1 files changed, 4 insertions, 50 deletions
diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix index 3407229e921a..d5338bc04cac 100644 --- a/nixos/lib/testing.nix +++ b/nixos/lib/testing.nix @@ -67,62 +67,16 @@ rec { }; - # Generate a coverage report from the coverage data produced by - # runTests. - makeReport = x: runCommand "report" { buildInputs = [rsync]; } - '' - mkdir -p $TMPDIR/gcov/ - - for d in ${x}/coverage-data/*; do - echo "doing $d" - [ -n "$(ls -A "$d")" ] || continue - - for i in $(cd $d/nix/store && ls); do - if ! test -e $TMPDIR/gcov/nix/store/$i; then - echo "copying $i" - mkdir -p $TMPDIR/gcov/$(echo $i | cut -c34-) - rsync -rv /nix/store/$i/.build/* $TMPDIR/gcov/ - fi - done - - chmod -R u+w $TMPDIR/gcov - - find $TMPDIR/gcov -name "*.gcda" -exec rm {} \; - - for i in $(cd $d/nix/store && ls); do - rsync -rv $d/nix/store/$i/.build/* $TMPDIR/gcov/ - done - - find $TMPDIR/gcov -name "*.gcda" -exec chmod 644 {} \; - - echo "producing info..." - ${pkgs.lcov}/bin/geninfo --ignore-errors source,gcov $TMPDIR/gcov --output-file $TMPDIR/app.info - cat $TMPDIR/app.info >> $TMPDIR/full.info - done - - echo "making report..." - mkdir -p $out/coverage - ${pkgs.lcov}/bin/genhtml --show-details $TMPDIR/full.info -o $out/coverage - cp $TMPDIR/full.info $out/coverage/ - - mkdir -p $out/nix-support - cat ${x}/nix-support/hydra-build-products >> $out/nix-support/hydra-build-products - echo "report coverage $out/coverage" >> $out/nix-support/hydra-build-products - [ ! -e ${x}/nix-support/failed ] || touch $out/nix-support/failed - ''; # */ - - makeTest = testFun: complete (call testFun); makeTests = testsFun: lib.mapAttrs (name: complete) (call testsFun); apply = makeTest; # compatibility call = f: f { inherit pkgs system; }; - complete = t: t // rec { + complete = { testScript, ... } @ t: t // rec { + nodes = buildVirtualNetwork ( - if t ? nodes then t.nodes else - if t ? machine then { machine = t.machine; } - else { } ); + t.nodes or (if t ? machine then { machine = t.machine; } else { })); testScript = # Call the test script with the computed nodes. @@ -162,7 +116,7 @@ rec { test = runTests driver; - report = makeReport test; + report = releaseTools.gcovReport { coverageRuns = [ test ]; }; }; |