summaryrefslogtreecommitdiffstats
path: root/build-root/vagrant/run.sh
blob: 7342f38881e435da16e67c6c771b124774e8471e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/bash

# Figure out what system we are running on
if [ -f /etc/lsb-release ];then
    . /etc/lsb-release
elif [ -f /etc/redhat-release ];then
    yum install -y redhat-lsb
    DISTRIB_ID=`lsb_release -si`
    DISTRIB_RELEASE=`lsb_release -sr`
    DISTRIB_CODENAME=`lsb_release -sc`
    DISTRIB_DESCRIPTION=`lsb_release -sd`
fi

if [ $DISTRIB_ID == "Ubuntu" ]; then
    start vpp
elif [ $DISTRIB_ID == "CentOS" ]; then
    # Install uio-pci-generic
    modprobe uio_pci_generic

    # Start vpp
    service vpp start
fi
setUpClass(cls): super(VAPITestCase, cls).setUpClass() @classmethod def tearDownClass(cls): super(VAPITestCase, cls).tearDownClass() def test_vapi_c(self): """ run C VAPI tests """ var = "TEST_BR" built_root = os.getenv(var, None) self.assertIsNotNone(built_root, "Environment variable `%s' not set" % var) executable = "%s/vapi_test/vapi_c_test" % built_root worker = Worker( [executable, "vapi client", self.shm_prefix], self.logger) worker.start() timeout = 60 worker.join(timeout) self.logger.info("Worker result is `%s'" % worker.result) error = False if worker.result is None: try: error = True self.logger.error( "Timeout! Worker did not finish in %ss" % timeout) os.killpg(os.getpgid(worker.process.pid), signal.SIGTERM) worker.join() except: self.logger.debug("Couldn't kill worker-spawned process") raise if error: raise Exception( "Timeout! Worker did not finish in %ss" % timeout) self.assert_equal(worker.result, 0, "Binary test return code") @unittest.skipIf(running_on_centos, "Centos's gcc can't compile our C++") def test_vapi_cpp(self): """ run C++ VAPI tests """ var = "TEST_BR" built_root = os.getenv(var, None) self.assertIsNotNone(built_root, "Environment variable `%s' not set" % var) executable = "%s/vapi_test/vapi_cpp_test" % built_root worker = Worker( [executable, "vapi client", self.shm_prefix], self.logger) worker.start() timeout = 120 worker.join(timeout) self.logger.info("Worker result is `%s'" % worker.result) error = False if worker.result is None: try: error = True self.logger.error( "Timeout! Worker did not finish in %ss" % timeout) os.killpg(os.getpgid(worker.process.pid), signal.SIGTERM) worker.join() except: raise Exception("Couldn't kill worker-spawned process") if error: raise Exception( "Timeout! Worker did not finish in %ss" % timeout) self.assert_equal(worker.result, 0, "Binary test return code") if __name__ == '__main__': unittest.main(testRunner=VppTestRunner)