summaryrefslogtreecommitdiffstats
path: root/test/test_jvpp.py
diff options
context:
space:
mode:
authorMatej Perina <mperina@cisco.com>2017-09-25 10:54:47 +0200
committerFlorin Coras <florin.coras@gmail.com>2017-09-26 14:43:59 +0000
commit6912a051c4a6d65ebdc827339b9d59173a2ee539 (patch)
tree6c8641b2949ce293d7ac0a6eb90d14d86c704ddc /test/test_jvpp.py
parent7865b5c8a4f11731d8c6d4627e505afe990989b4 (diff)
jvpp: lowering verbosity level for jvpp tests
Change-Id: Ie38dad209cce6d546379b4a5e449b34fbcadf171 Signed-off-by: Matej Perina <mperina@cisco.com>
Diffstat (limited to 'test/test_jvpp.py')
-rw-r--r--test/test_jvpp.py57
1 files changed, 55 insertions, 2 deletions
diff --git a/test/test_jvpp.py b/test/test_jvpp.py
index 664ed2f97ce..2497ff680a4 100644
--- a/test/test_jvpp.py
+++ b/test/test_jvpp.py
@@ -1,7 +1,18 @@
-from jvpp_connection import TestJVppConnection
+#!/usr/bin/env python
+import os
+import subprocess
-class TestJVpp(TestJVppConnection):
+from framework import VppTestCase
+
+# Api files path
+API_FILES_PATH = "vpp/vpp-api/java"
+
+# Registry jar file name prefix
+REGISTRY_JAR_PREFIX = "jvpp-registry"
+
+
+class TestJVpp(VppTestCase):
""" JVPP Core Test Case """
def invoke_for_jvpp_core(self, api_jar_name, test_class_name):
@@ -80,3 +91,45 @@ class TestJVpp(TestJVppConnection):
self.invoke_for_jvpp_core(api_jar_name="jvpp-nat",
test_class_name="io.fd.vpp.jvpp.nat.test."
"FutureApiTest")
+
+ def full_jar_name(self, install_dir, jar_name, version):
+ return os.path.join(install_dir, API_FILES_PATH,
+ "{0}-{1}.jar".format(jar_name, version))
+
+ def jvpp_connection_test(self, api_jar_name, test_class_name, timeout):
+ install_dir = os.getenv('VPP_TEST_BUILD_DIR')
+ self.logger.info("Install directory : {0}".format(install_dir))
+
+ version_reply = self.vapi.show_version()
+ version = version_reply.version.split("-")[0]
+ registry_jar_path = self.full_jar_name(install_dir,
+ REGISTRY_JAR_PREFIX, version)
+ self.logger.info("JVpp Registry jar path : {0}"
+ .format(registry_jar_path))
+
+ api_jar_path = self.full_jar_name(install_dir, api_jar_name, version)
+ self.logger.info("Api jar path : {0}".format(api_jar_path))
+
+ # passes shm prefix as parameter to create connection with same value
+ command = ["java", "-cp",
+ "{0}:{1}".format(registry_jar_path, api_jar_path),
+ test_class_name, "/{0}-vpe-api".format(self.shm_prefix)]
+ self.logger.info("Test Command : {0}, Timeout : {1}".
+ format(command, timeout))
+
+ self.process = subprocess.Popen(command, shell=False,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE, bufsize=1,
+ universal_newlines=True)
+
+ out, err = self.process.communicate()
+ self.logger.info("Process output : {0}{1}".format(os.linesep, out))
+ self.logger.info("Process error output : {0}{1}"
+ .format(os.linesep, err))
+ self.assert_equal(self.process.returncode, 0, "process return code")
+
+ def tearDown(self):
+ self.logger.info("Tearing down jvpp test")
+ super(TestJVpp, self).tearDown()
+ if hasattr(self, 'process') and self.process.poll() is None:
+ self.process.kill()