[tor-commits] [tor/master] Coverage hack for test_switch_id.sh

nickm at torproject.org nickm at torproject.org
Mon Jun 20 15:19:25 UTC 2016


commit 5fbd195918b4f5ad73130547c2ca58fd69baded0
Author: Nick Mathewson <nickm at torproject.org>
Date:   Mon Jun 20 11:15:47 2016 -0400

    Coverage hack for test_switch_id.sh
    
    This hack provides a way to make sure we can see coverage from
    test-switch-id.  If you set OVERRIDE_GCDA_PERMISSIONS_HACK, we
    temporarily make the .gcda files mode 0666 before we run the
    test scripts, and then we set them to 0644 again afterwards.
    
    That's necessary because the test_switch_id.sh script does a
    setuid() to 'nobody' part way through, and drops the ability to
    change its mind back.
---
 src/test/test_switch_id.sh | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/test/test_switch_id.sh b/src/test/test_switch_id.sh
index 1b4e099..79c44f2 100755
--- a/src/test/test_switch_id.sh
+++ b/src/test/test_switch_id.sh
@@ -10,6 +10,10 @@ if test "`id -u nobody`" = ""; then
     exit 1
 fi
 
+if test "$OVERRIDE_GCDA_PERMISSIONS_HACK" = "yes"; then
+  find src -type f -name '*gcda' -print0 | xargs -0 chmod 0666
+fi
+
 "${builddir:-.}/src/test/test-switch-id" nobody setuid          || exit 1
 "${builddir:-.}/src/test/test-switch-id" nobody root-bind-low   || exit 1
 "${builddir:-.}/src/test/test-switch-id" nobody setuid-strict   || exit 1
@@ -19,6 +23,9 @@ fi
 "${builddir:-.}/src/test/test-switch-id" nobody have-caps       || exit 1
 "${builddir:-.}/src/test/test-switch-id" nobody setuid-keepcaps || exit 1
 
+if test "$OVERRIDE_GCDA_PERMISSIONS_HACK" = "yes"; then
+    find src -type f -name '*gcda' -print0 | xargs -0 chmod 0644
+fi
 
 echo "All okay"
 



More information about the tor-commits mailing list