aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2013-10-11 13:21:42 -0400
committerNick Mathewson <nickm@torproject.org>2013-10-11 13:21:42 -0400
commitf308adf8382bc7e61ea05a172057260cf8be9a6b (patch)
tree7355c13e09fc0ee1a5b6d8b5e56f5343588eaa65 /src
parent187398318ef9b8b66e0f19ef031a847e8824e1d1 (diff)
downloadtor-f308adf8382bc7e61ea05a172057260cf8be9a6b.tar
tor-f308adf8382bc7e61ea05a172057260cf8be9a6b.tar.gz
When possible, run the ntor python integration tests too
Diffstat (limited to 'src')
-rw-r--r--src/test/include.am17
-rwxr-xr-x[-rw-r--r--]src/test/ntor_ref.py16
-rwxr-xr-xsrc/test/test_cmdline_args.py15
3 files changed, 39 insertions, 9 deletions
diff --git a/src/test/include.am b/src/test/include.am
index ed0ef0424..c452d2659 100644
--- a/src/test/include.am
+++ b/src/test/include.am
@@ -74,11 +74,22 @@ src_test_test_ntor_cl_LDADD = src/or/libtor.a src/common/libor.a \
@TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@ @CURVE25519_LIBS@
src_test_test_ntor_cl_AM_CPPFLAGS = \
-I"$(top_srcdir)/src/or"
+NTOR_TEST_DEPS=src/test/test-ntor-cl
+else
+NTOR_TEST_DEPS=
+endif
+if COVERAGE_ENABLED
+CMDLINE_TEST_TOR = ./src/or/tor-cov
+else
+CMDLINE_TEST_TOR = ./src/or/tor
endif
-check-local:
+check-local: $(NTOR_TEST_DEPS) $(CMDLINE_TEST_TOR)
if USEPYTHON
- $(PYTHON) src/test/test_cmdline_args.py
+ $(PYTHON) src/test/test_cmdline_args.py $(CMDLINE_TEST_TOR) "${top_srcdir}"
+if CURVE25519_ENABLED
+ $(PYTHON) src/test/ntor_ref.py test-tor
+ $(PYTHON) src/test/ntor_ref.py self-test
+endif
endif
-
diff --git a/src/test/ntor_ref.py b/src/test/ntor_ref.py
index ade468da7..2a5f98460 100644..100755
--- a/src/test/ntor_ref.py
+++ b/src/test/ntor_ref.py
@@ -1,3 +1,4 @@
+#!/usr/bin/python
# Copyright 2012-2013, The Tor Project, Inc
# See LICENSE for licensing information
@@ -27,7 +28,13 @@ commands:
"""
import binascii
-import curve25519
+try:
+ import curve25519
+except ImportError:
+ curve25519 = None
+ print "SKIPPING: No Python curve25519 module installed"
+ import sys
+ sys.exit(0)
import hashlib
import hmac
import subprocess
@@ -286,6 +293,7 @@ def demo(node_id="iToldYouAboutStairs.", server_key=PrivateKey()):
assert len(skeys) == 72
assert len(ckeys) == 72
assert skeys == ckeys
+ print "OK"
# ======================================================================
def timing():
@@ -368,13 +376,15 @@ def test_tor():
assert c_keys == s_keys
assert len(c_keys) == 90
- print "We just interoperated."
+ print "OK"
# ======================================================================
if __name__ == '__main__':
import sys
- if sys.argv[1] == 'gen_kdf_vectors':
+ if len(sys.argv) < 2:
+ print __doc__
+ elif sys.argv[1] == 'gen_kdf_vectors':
kdf_vectors()
elif sys.argv[1] == 'timing':
timing()
diff --git a/src/test/test_cmdline_args.py b/src/test/test_cmdline_args.py
index 5767a82d9..1b0963f6b 100755
--- a/src/test/test_cmdline_args.py
+++ b/src/test/test_cmdline_args.py
@@ -6,11 +6,20 @@ import os
import re
import shutil
import subprocess
+import sys
import tempfile
import unittest
-TOR = "./src/or/tor-cov"
-TOPDIR = "."
+TOR = "./src/or/tor"
+TOP_SRCDIR = "."
+
+if len(sys.argv) > 1:
+ TOR = sys.argv[1]
+ del sys.argv[1]
+
+if len(sys.argv) > 1:
+ TOP_SRCDIR = sys.argv[1]
+ del sys.argv[1]
class UnexpectedSuccess(Exception):
pass
@@ -110,7 +119,7 @@ class CmdlineTests(unittest.TestCase):
self.assertEquals(hashlib.sha1(inp).digest(), hashed)
def test_digests(self):
- main_c = os.path.join(TOPDIR, "src", "or", "main.c")
+ main_c = os.path.join(TOP_SRCDIR, "src", "or", "main.c")
if os.stat(TOR).st_mtime < os.stat(main_c).st_mtime:
self.skipTest(TOR+" not up to date")