#!@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 file-sharing command-line tools (recursive publishing & download) import pexpect import os import signal import re os.system ('rm -rf /tmp/gnunet-test-fs-py-rec/') os.system ('gnunet-arm -sq -c test_gnunet_fs_rec_data.conf') os.system ('tar xfz test_gnunet_fs_rec_data.tgz') try: pub = pexpect.spawn ('gnunet-publish -c test_gnunet_fs_rec_data.conf -d -k testdir dir/') pub.expect ('Publishing `dir/\' done.\r') pub.expect ("URI is `gnunet://fs/chk/CQI091BQ15LLC2NO5RQM2LP95D8I0ONKDFT912V8CMH3BIPDUSDKG3JL07V9E89JPJ0CG5JE9EAQLC1Q6I0VF9L8M86MO0K3DG7HA2O.NVIUL6B7AT6TIUVOV0JLIQ3LLSS3TRLCVAISDS47V0KVHN22TJ9H9247HQNA8T3KK1J32QJ65312DUQPA2EBQPNII279BU0MKJEB94G.20181'.") pub.expect (pexpect.EOF) down = pexpect.spawn ('gnunet-download -c test_gnunet_fs_rec_data.conf -R -o rdir.gnd gnunet://fs/chk/CQI091BQ15LLC2NO5RQM2LP95D8I0ONKDFT912V8CMH3BIPDUSDKG3JL07V9E89JPJ0CG5JE9EAQLC1Q6I0VF9L8M86MO0K3DG7HA2O.NVIUL6B7AT6TIUVOV0JLIQ3LLSS3TRLCVAISDS47V0KVHN22TJ9H9247HQNA8T3KK1J32QJ65312DUQPA2EBQPNII279BU0MKJEB94G.20181') down.expect (re.compile ("Downloading `rdir.gnd\' done \(.*\).\r")); down.expect (pexpect.EOF); # dir = pexpect.spawn ('gnunet-directory -c test_gnunet_fs_rec_data.conf rdir/a.gnd') # dir.expect (re.compile ("Directory `a' summary:")); # dir.expect (re.compile (" *mimetype: application/gnunet-directory")); # dir.expect (re.compile ("COPYING (.*)")); # dir.expect (re.compile ("INSTALL (.*)")); # dir.expect (pexpect.EOF) os.system ('rm -r rdir/b.gnd rdir/a.gnd') if (0 != os.system ("diff -r dir rdir")): raise Exception ("Unexpected difference between source directory and downloaded result") finally: os.system ('gnunet-arm -c test_gnunet_fs_rec_data.conf -eq') os.system ('rm -r dir rdir rdir.gnd') os.system ('rm -rf /tmp/gnunet-test-fs-py-rec/')