blob: 9f218e9c66f4f70cf37379236dfa235c4766007a [file] [log] [blame]
jeraldabrahama3c97d62014-04-14 01:29:45 -07001#!/usr/bin/python2
2# -*- Mode:python; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
3#
4# Copyright (C) 2014 University of Arizona
5# Author: Jerald Paul Abraham <jeraldabraham@email.arizona.edu>
6# See COPYING for copyright and distribution information.
7#
8
9import os
10import time
11import unittest
12import process_manager
13
14class test_ndnpeekpoke(unittest.TestCase, process_manager.ProcessManager):
Eric Newberryd4ed6222015-06-10 14:12:42 -070015 """Test case for testing ndnpeek and ndnpoke applications"""
jeraldabrahama3c97d62014-04-14 01:29:45 -070016
17 def setUp(self):
Eric Newberryd4ed6222015-06-10 14:12:42 -070018 print "\nTesting ndnpeek & ndnpoke"
jeraldabrahama3c97d62014-04-14 01:29:45 -070019 print "***********************************"
Eric Newberryd729f352015-07-19 11:18:51 -070020 os.system("mkdir -p test_ndnpeekpoke/logs/")
jeraldabrahama3c97d62014-04-14 01:29:45 -070021
22 def tearDown(self):
23 self.killNfd()
Eric Newberryd4ed6222015-06-10 14:12:42 -070024 self.killProcess("ndnpoke")
25 self.killProcess("ndnpeek")
jeraldabrahama3c97d62014-04-14 01:29:45 -070026 self.cleanupProcesses()
27
28 def test_peekpoke(self):
29 self.startNfd()
30 time.sleep(1)
31 pokeInputFile = os.path.abspath("test_ndnpeekpoke/test-poke-input.txt")
Eric Newberryd4ed6222015-06-10 14:12:42 -070032 self.startProcess("ndnpoke",
33 ["ndnpoke", "ndn:/test/peekpoke"],
jeraldabrahama3c97d62014-04-14 01:29:45 -070034 "-> Starting Poke",
35 inputFile=pokeInputFile)
36 time.sleep(1)
jeraldabrahamb2a26552014-04-16 21:08:09 -070037 peekOutputFile = os.path.abspath("test_ndnpeekpoke/logs/test-peek-output.txt")
Eric Newberryd4ed6222015-06-10 14:12:42 -070038 self.startProcess("ndnpeek",
39 ["ndnpeek", "ndn:/test/peekpoke"],
jeraldabrahama3c97d62014-04-14 01:29:45 -070040 "-> Starting Peek",
41 outputFile=peekOutputFile)
42 time.sleep(1)
Eric Newberryd4ed6222015-06-10 14:12:42 -070043 self.waitForProcessCompletion("ndnpeek", 10)
44 self.waitForProcessCompletion("ndnpoke", 10)
45 if self.hasProcessCompleted("ndnpeek"):
46 if self.getProcessReturnCode("ndnpeek") != 0:
47 print self.getProcessReturnCode("ndnpeek")
48 print self.getProcessError("ndnpeek")
49 print self.getProcessOutput("ndnpeek")
50 self.fail(">> TEST FAILED - received non-zero return code from ndnpeek")
jeraldabrahama3c97d62014-04-14 01:29:45 -070051 else:
Eric Newberryd4ed6222015-06-10 14:12:42 -070052 self.fail(">> TEST FAILED - ndnpeek failed to complete")
53 if self.hasProcessCompleted("ndnpoke"):
54 if self.getProcessReturnCode("ndnpoke") != 0:
55 print self.getProcessError("ndnpoke")
56 self.fail(">> TEST FAILED - received non-zero return code from ndnpoke")
jeraldabrahama3c97d62014-04-14 01:29:45 -070057 else:
Eric Newberryd4ed6222015-06-10 14:12:42 -070058 self.fail(">> TEST FAILED - ndnpoke failed to complete")
jeraldabrahama3c97d62014-04-14 01:29:45 -070059 print ">> TEST SUCCESSFUL"