Browse Source

Kludge include.am to work with automake <1.12

The SH_LOG_COMPILER feature doesn't work with older automakes, and
those are still in use in many environments we want to support
development on, like Debian Stable.

Instead, use autoconf substitution to fill out the shebang lines on
the shell scripts, and an intermediate make target to make them
executable.

This is a bugfix on the patches for #15344.  Bug not in any released
tor.
Nick Mathewson 9 years ago
parent
commit
d579d751dc
4 changed files with 20 additions and 8 deletions
  1. 17 5
      src/test/include.am
  2. 1 1
      src/test/test_bt.sh.in
  3. 1 1
      src/test/test_ntor.sh.in
  4. 1 1
      src/test/test_zero_length_keys.sh.in

+ 17 - 5
src/test/include.am

@@ -1,12 +1,24 @@
-TESTS += src/test/test src/test/test-slow src/test/test-memwipe \
-	src/test/test_zero_length_keys.sh
+
+TESTSCRIPTS = src/test/test_zero_length_keys.sh
 
 if USEPYTHON
-TESTS += src/test/test_ntor.sh src/test/test_bt.sh
+TESTSCRIPTS += src/test/test_ntor.sh src/test/test_bt.sh
 endif
 
-TEST_EXTENSIONS = .sh
-SH_LOG_COMPILER = $(SHELL)
+TESTS += src/test/test src/test/test-slow src/test/test-memwipe \
+	$(TESTSCRIPTS)
+
+### This is a lovely feature, but it requires automake >= 1.12, and Tor
+###  doesn't require that yet.  Below is a kludge to work around.
+###
+# TEST_EXTENSIONS = .sh
+# SH_LOG_COMPILER = $(SHELL)
+
+check-am: set-test-permissions
+
+set-test-permissions:
+	chmod 755 $(TESTSCRIPTS)
+
 
 noinst_PROGRAMS+= src/test/bench
 if UNITTESTS_ENABLED

+ 1 - 1
src/test/test_bt.sh.in

@@ -1,4 +1,4 @@
-#!/bin/sh
+#!@SHELL@
 # Test backtrace functionality.
 
 exitcode=0

+ 1 - 1
src/test/test_ntor.sh.in

@@ -1,4 +1,4 @@
-#!/bin/sh
+#!@SHELL@
 # Validate Tor's ntor implementation.
 
 exitcode=0

+ 1 - 1
src/test/test_zero_length_keys.sh.in

@@ -1,4 +1,4 @@
-#!/bin/sh
+#!@SHELL@
 # Check that tor regenerates keys when key files are zero-length
 
 exitcode=0