gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r31028 - gnunet/src/revocation


From: gnunet
Subject: [GNUnet-SVN] r31028 - gnunet/src/revocation
Date: Wed, 4 Dec 2013 01:10:57 +0100

Author: LRN
Date: 2013-12-04 01:10:56 +0100 (Wed, 04 Dec 2013)
New Revision: 31028

Added:
   gnunet/src/revocation/test_local_revocation.py
Removed:
   gnunet/src/revocation/test_local_revocation.sh
Modified:
   gnunet/src/revocation/Makefile.am
Log:
Pythonize the revocation test

Modified: gnunet/src/revocation/Makefile.am
===================================================================
--- gnunet/src/revocation/Makefile.am   2013-12-04 00:10:53 UTC (rev 31027)
+++ gnunet/src/revocation/Makefile.am   2013-12-04 00:10:56 UTC (rev 31028)
@@ -70,7 +70,7 @@
 
 
 check_SCRIPTS = \
-       test_local_revocation.sh
+       test_local_revocation.py
 
 if ENABLE_TEST_RUN
  TESTS = \

Added: gnunet/src/revocation/test_local_revocation.py
===================================================================
--- gnunet/src/revocation/test_local_revocation.py                              
(rev 0)
+++ gnunet/src/revocation/test_local_revocation.py      2013-12-04 00:10:56 UTC 
(rev 31028)
@@ -0,0 +1,111 @@
+#!/mingw/bin/python
+#    This file is part of GNUnet.
+#    (C) 2010 Christian Grothoff (and other contributing authors)
+#
+#    GNUnet is free software; you can redistribute it and/or modify
+#    it under the terms of the GNU General Public License as published
+#    by the Free Software Foundation; either version 2, or (at your
+#    option) any later version.
+#
+#    GNUnet is distributed in the hope that it will be useful, but
+#    WITHOUT ANY WARRANTY; without even the implied warranty of
+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#    General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with GNUnet; see the file COPYING.  If not, write to the
+#    Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+#    Boston, MA 02111-1307, USA.
+#
+# Testcase for ego revocation
+from __future__ import print_function
+import sys
+import os
+import subprocess
+import re
+import shutil
+
+if os.name == 'posix':
+  config = 'gnunet-config'
+  gnunetarm = 'gnunet-arm'
+  ident = 'gnunet-identity'
+  revoc = './gnunet-revocation'
+elif os.name == 'nt':
+  config = 'gnunet-config.exe'
+  gnunetarm = 'gnunet-arm.exe'
+  ident = 'gnunet-identity.exe'
+  revoc = './gnunet-revocation.exe'
+
+TEST_CONFIGURATION = "test_revocation.conf"
+TEST_REVOCATION_EGO = "revoc_test"
+
+
+get_clean = subprocess.Popen ([config, '-c', TEST_CONFIGURATION, '-s', 
'PATHS', '-o', 'GNUNET_HOME', '-f'], stdout=subprocess.PIPE)
+cleandir, x = get_clean.communicate ()
+cleandir = cleandir.rstrip ('\n').rstrip ('\r')
+
+if os.path.isdir (cleandir):
+  shutil.rmtree (cleandir, True)
+
+res = 0
+arm = subprocess.Popen ([gnunetarm, '-s', '-c', TEST_CONFIGURATION])
+arm.communicate ()
+
+try:
+  print ("Creating an ego " + TEST_REVOCATION_EGO)
+  sys.stdout.flush ()
+  sys.stderr.flush ()
+  idc = subprocess.Popen ([ident, '-C', TEST_REVOCATION_EGO, '-c', 
TEST_CONFIGURATION])
+  idc.communicate ()
+  if idc.returncode != 0:
+    raise Exception ("gnunet-identity failed to create an ego `" + 
TEST_REVOCATION_EGO + "'")
+
+  sys.stdout.flush ()
+  sys.stderr.flush ()
+  idd = subprocess.Popen ([ident, '-d'], stdout=subprocess.PIPE)
+  rev_key, x = idd.communicate ()
+  if len (rev_key.split ()) < 3:
+    raise Exception ("can't get revocation key out of `" + rev_key + "'")
+  rev_key = rev_key.split ()[2]
+
+  print ("Testing key " + rev_key)
+  sys.stdout.flush ()
+  sys.stderr.flush ()
+  tst = subprocess.Popen ([revoc, '-t', rev_key, '-c', TEST_CONFIGURATION], 
stdout=subprocess.PIPE)
+  output_not_revoked, x = tst.communicate ()
+  if tst.returncode != 0:
+    raise Exception ("gnunet-revocation failed to test a key - " + str 
(tst.returncode) + ": " + output_not_revoked)
+  if 'valid' not in output_not_revoked:
+    res = 1
+    print ("Key was not valid")
+  else:
+    print ("Key was valid")
+
+  print ("Revoking key " + rev_key)
+  sys.stdout.flush ()
+  sys.stderr.flush ()
+  rev = subprocess.Popen ([revoc, '-R', TEST_REVOCATION_EGO, '-p', '-c', 
TEST_CONFIGURATION])
+  rev.communicate ()
+  if rev.returncode != 0:
+    raise Exception ("gnunet-revocation failed to revoke a key")
+
+  print ("Testing revoked key " + rev_key)
+  sys.stdout.flush ()
+  sys.stderr.flush ()
+  tst = subprocess.Popen ([revoc, '-t', rev_key, '-c', TEST_CONFIGURATION], 
stdout=subprocess.PIPE)
+  output_revoked, x = tst.communicate ()
+  if tst.returncode != 0:
+    raise Exception ("gnunet-revocation failed to test a revoked key")
+  if 'revoked' not in output_revoked:
+    res = 1
+    print ("Key was not revoked")
+  else:
+    print ("Key was revoked")
+
+finally:
+  arm = subprocess.Popen ([gnunetarm, '-e', '-c', TEST_CONFIGURATION])
+  arm.communicate ()
+  if os.path.isdir (cleandir):
+    shutil.rmtree (cleandir, True)
+
+sys.exit (res)


Property changes on: gnunet/src/revocation/test_local_revocation.py
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Deleted: gnunet/src/revocation/test_local_revocation.sh
===================================================================
--- gnunet/src/revocation/test_local_revocation.sh      2013-12-04 00:10:53 UTC 
(rev 31027)
+++ gnunet/src/revocation/test_local_revocation.sh      2013-12-04 00:10:56 UTC 
(rev 31028)
@@ -1,50 +0,0 @@
-#!/bin/bash
-TEST_CONFIGURATION="test_revocation.conf"
-TEST_REVOCATION_EGO="revoc_test"
-
-which timeout &> /dev/null && DO_TIMEOUT="timeout 5"
-trap "gnunet-arm -e -c test_revocation.conf" SIGINT
-
-LOCATION=$(which gnunet-config)
-if [ -z $LOCATION ]
-then
-       echo "GNUnet command line tools cannot be found, check environmental 
variables PATH and GNUNET_PREFIX" 
-       exit 1
-fi
-
-# clean up
-rm -rf `gnunet-config -c test_revocation.conf -s PATHS -o GNUNET_HOME -f`
-
-# Start 
-RES=0
-gnunet-arm -s -c $TEST_CONFIGURATION
-gnunet-identity -C $TEST_REVOCATION_EGO -c $TEST_CONFIGURATION
-TEST_REVOCATION_KEY=$(gnunet-identity -d | awk '{split($0,a," "); print a[3]}')
-
-echo Testing key $TEST_REVOCATION_KEY
-OUTPUT_NOT_REVOKED=$(gnunet-revocation -t $TEST_REVOCATION_KEY -c 
$TEST_CONFIGURATION)
-if grep -q valid <<<$OUTPUT_NOT_REVOKED; 
-then
-               echo "Key was valid" 
-else
-    RES=1
-fi
-
-echo Revoking key $TEST_REVOCATION_KEY
-gnunet-revocation -R $TEST_REVOCATION_EGO -p -c $TEST_CONFIGURATION 1> 
/dev/null 2> /dev/null
-
-echo Testing revoked key $TEST_REVOCATION_KEY
-OUTPUT_REVOKED=$(gnunet-revocation -t $TEST_REVOCATION_KEY -c 
$TEST_CONFIGURATION)
-if grep -q revoked <<<$OUTPUT_REVOKED; 
-then
-    echo "Key was revoked"
-else
-    RES=1
-fi
-
-
-#clean up
-gnunet-arm -e -c $TEST_CONFIGURATION
-rm -rf `gnunet-config -c test_revocation.conf -s PATHS -o GNUNET_HOME -f`
-
-exit $RES
\ No newline at end of file




reply via email to

[Prev in Thread] Current Thread [Next in Thread]