diff options
author | Matej Perina <mperina@cisco.com> | 2017-09-25 10:54:47 +0200 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2017-09-26 14:43:59 +0000 |
commit | 6912a051c4a6d65ebdc827339b9d59173a2ee539 (patch) | |
tree | 6c8641b2949ce293d7ac0a6eb90d14d86c704ddc /test/test_jvpp.py | |
parent | 7865b5c8a4f11731d8c6d4627e505afe990989b4 (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.py | 57 |
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() |