summaryrefslogtreecommitdiffstats
path: root/test/test_vpe_api.py
diff options
context:
space:
mode:
authorPaul Vinciguerra <pvinci@vinciconsulting.com>2019-06-25 22:30:19 -0400
committerNeale Ranns <nranns@cisco.com>2019-07-08 07:51:29 +0000
commit03f1af23b90eb053ba46e47d50bffc2fdfafbd16 (patch)
treed08d6d6c653b112e9efe2b7a90e02af59bb7293b /test/test_vpe_api.py
parent1d6d9f021c5a169dedca55b46451ab54728e3ee8 (diff)
api: Implement log_dump/log_details
- Replaces the need to screen scrape "show log". - Adds an api to return the system time. When running over a socket, the api client may have different time than the vpp host. expected use: vpp_time_before_command = self.vapi.show_vpe_system_time_ticks().vpe_system_time_ticks <run some commands> log_output = self.vapi.log_dump(start_timestamp=vpp_time_before_command) Depends-on: https://gerrit.fd.io/r/20484 Depends-on: https://gerrit.fd.io/r/#/c/19581/ ============================================================================== TestVpeApi ============================================================================== log_details(_0=838, context=3, timestamp_ticks=2.4954863503546518e+48, level=<vl_api_log_level_t.VPE_API_LOG_LEVEL_WARNING: 4>, timestamp=u'2019/07/04 20:35:41:281', msg_class=u'buffer', message=u'vlib_physmem_shared_map_create: clib_mem_create_hugetlb_fd: open: No such file or directory\n\n') log_details(_0=838, context=3, timestamp_ticks=1.6101902879480125e+159, level=<vl_api_log_level_t.VPE_API_LOG_LEVEL_WARNING: 4>, timestamp=u'2019/07/04 20:35:41:281', msg_class=u'buffer', message=u'falling back to non-hugepage backed buffer pool') test_log_dump_default (test_vpe_api.TestVpeApi) OK log_details(_0=838, context=13, timestamp_ticks=2.4954863503546518e+48, level=<vl_api_log_level_t.VPE_API_LOG_LEVEL_WARNING: 4>, timestamp=u'2019/07/04 20:35:41:281', msg_class=u'buffer', message=u'vlib_physmem_shared_map_create: clib_mem_create_hugetlb_fd: open: No such file or directory\n\n') log_details(_0=838, context=13, timestamp_ticks=1.6101902879480125e+159, level=<vl_api_log_level_t.VPE_API_LOG_LEVEL_WARNING: 4>, timestamp=u'2019/07/04 20:35:41:281', msg_class=u'buffer', message=u'falling back to non-hugepage backed buffer pool') test_log_dump_timestamp_0 (test_vpe_api.TestVpeApi) OK test_log_dump_timestamp_future (test_vpe_api.TestVpeApi) SKIP test_show_vpe_system_time_ticks (test_vpe_api.TestVpeApi) SKIP ============================================================================== TEST RESULTS: Scheduled tests: 4 Executed tests: 4 Passed tests: 2 Skipped tests: 2 ============================================================================== Test run was successful Type: feature Change-Id: I893fc0a65f39749d2091093c2c604659aadd8447 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Diffstat (limited to 'test/test_vpe_api.py')
-rw-r--r--test/test_vpe_api.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/test/test_vpe_api.py b/test/test_vpe_api.py
new file mode 100644
index 00000000000..81c9d9a78a6
--- /dev/null
+++ b/test/test_vpe_api.py
@@ -0,0 +1,46 @@
+# Copyright (c) 2019. Vinci Consulting Corp. All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+import time
+import unittest
+from framework import VppTestCase
+
+
+class TestVpeApi(VppTestCase):
+ """TestVpeApi"""
+
+ def test_log_dump_default(self):
+ rv = self.vapi.cli('test log notice fib entry this is a test')
+ rv = self.vapi.log_dump()
+ # print('\n'.join([str(v) for v in rv]))
+ self.assertTrue(rv)
+
+ def test_log_dump_timestamp_0(self):
+ rv = self.vapi.cli('test log notice fib entry this is a test')
+ rv = self.vapi.log_dump(start_timestamp=0.0)
+ # print('\n'.join([str(v) for v in rv]))
+ self.assertTrue(rv)
+
+ @unittest.skip('Requires https://gerrit.fd.io/r/#/c/19581/ '
+ 'to use timestamp_ticks.')
+ def test_log_dump_timestamp_future(self):
+ rv = self.vapi.cli('test log debug fib entry test')
+ rv = self.vapi.log_dump(start_timestamp=time.time() + 60.0)
+ # print('\n'.join([str(v) for v in rv]))
+ self.assertFalse(rv)
+
+ @unittest.skip('Requires https://gerrit.fd.io/r/#/c/19581/ '
+ 'to use timestamp_ticks.')
+ def test_show_vpe_system_time_ticks(self):
+ rv = self.vapi.show_vpe_system_time_ticks()
+ self.assertTrue(rv.vpe_system_time_ticks > 1.0)