From 5a9e8f0924daf487c872aab077400df70451813e Mon Sep 17 00:00:00 2001 From: Cédric Ollivier Date: Sat, 6 May 2017 19:54:38 +0200 Subject: Update framework pres MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It takes into account the next framework modifications: - Switch TestCase attribute criteria to result [1] - Manage criteria in TestCase [2] - Print the real testcase duration [3] - Rename TestCase check_result() to is_successful() [4] [1] https://gerrit.opnfv.org/gerrit/#/c/33695/ [2] https://gerrit.opnfv.org/gerrit/#/c/33697/ [3] https://gerrit.opnfv.org/gerrit/#/c/34369/ [4] https://gerrit.opnfv.org/gerrit/#/c/34373/ Change-Id: I3a6790e4233ef4c55b0535618dacf702f779f28b Signed-off-by: Cédric Ollivier --- docs/com/pres/framework/framework.md | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) (limited to 'docs/com/pres') diff --git a/docs/com/pres/framework/framework.md b/docs/com/pres/framework/framework.md index b80ad3dd7..61249e0ea 100644 --- a/docs/com/pres/framework/framework.md +++ b/docs/com/pres/framework/framework.md @@ -2,11 +2,11 @@ created by [Cédric Ollivier](mailto:cedric.ollivier@orange.com) -2017/04/24 +2017/05/06 Note: -- Functest integrates lots of heteregeounous testcases: +- Functest integrates lots of heterogeneous testcases: - python vs bash - internal vs external - it aims to benefit from object programming @@ -33,11 +33,11 @@ Note: ### Our target - limit run_tests.py instructions by defining: - - the basic testcase attritutes + - the basic testcase attributes - all common operations - the status codes expected - avoid duplicating codes between testcases -- ease the developpement of third-party testcases (aka features) +- ease the development of third-party testcases (aka features) @@ -51,6 +51,7 @@ base model for single test case - project_name (default: 'functest') - case_name - criteria +- result - start_time - stop_time - details @@ -61,7 +62,8 @@ base model for single test case | Method | Purpose | |-------------------|--------------------------------------------| | run(**kwargs) | run the test case | -| check_criteria() | interpret the results of the test case | +| is_successful() | interpret the results of the test case | +| get_duration() | return the duration of the test case | | push_to_db() | push the results of the test case to the DB| @@ -69,7 +71,7 @@ base model for single test case - the subclasses must override the default implementation which is false on purpose - the new implementation must set the following attributes to push the results to DB: - - criteria + - result - start_time - stop_time @@ -99,7 +101,8 @@ except KeyError: if result == testcase.TestCase.EX_OK: if GlobalVariables.REPORT_FLAG: test_case.push_to_db() - result = test_case.check_criteria() + result = test_case.is_successful() +duration = test_case.get_duration() ``` @@ -121,7 +124,7 @@ class Test(testcase.TestCase): def run(self, **kwargs): self.start_time = time.time() print "Hello World" - self.criteria = 'PASS' + self.result = 100 self.stop_time = time.time() return testcase.TestCase.EX_OK ``` @@ -132,7 +135,7 @@ class Test(testcase.TestCase): ```yaml case_name: first project_name: functest -criteria: 'status == "PASS"' +criteria: 100 blocking: true clean_flag: false description: '' @@ -164,7 +167,7 @@ base model for single feature - allows executing any Python method by calling execute() - sets the following attributes required to push the results to DB: - - criteria + - result - start_time - stop_time - doesn't fulfill details when pushing the results to the DB. @@ -200,7 +203,7 @@ class Test(feature.Feature): ```yaml case_name: second project_name: functest -criteria: 'status == "PASS"' +criteria: 100 blocking: true clean_flag: false description: '' @@ -234,7 +237,7 @@ execute the cmd passed as arg. ``` case_name: third project_name: functest -criteria: 'status == "PASS"' +criteria: 100 blocking: true clean_flag: false description: '' -- cgit 1.2.3-korg