1#!/usr/bin/env python3
2
3class TdcPlugin:
4    def __init__(self):
5        super().__init__()
6        print(' -- {}.__init__'.format(self.sub_class))
7
8    def pre_suite(self, testcount, testidlist):
9        '''run commands before test_runner goes into a test loop'''
10        self.testcount = testcount
11        self.testidlist = testidlist
12        if self.args.verbose > 1:
13            print(' -- {}.pre_suite'.format(self.sub_class))
14
15    def post_suite(self, index):
16        '''run commands after test_runner completes the test loop
17        index is the last ordinal number of test that was attempted'''
18        if self.args.verbose > 1:
19            print(' -- {}.post_suite'.format(self.sub_class))
20
21    def pre_case(self, caseinfo, test_skip):
22        '''run commands before test_runner does one test'''
23        if self.args.verbose > 1:
24            print(' -- {}.pre_case'.format(self.sub_class))
25        self.args.caseinfo = caseinfo
26        self.args.test_skip = test_skip
27
28    def post_case(self):
29        '''run commands after test_runner does one test'''
30        if self.args.verbose > 1:
31            print(' -- {}.post_case'.format(self.sub_class))
32
33    def pre_execute(self):
34        '''run command before test-runner does the execute step'''
35        if self.args.verbose > 1:
36            print(' -- {}.pre_execute'.format(self.sub_class))
37
38    def post_execute(self):
39        '''run command after test-runner does the execute step'''
40        if self.args.verbose > 1:
41            print(' -- {}.post_execute'.format(self.sub_class))
42
43    def adjust_command(self, stage, command):
44        '''adjust the command'''
45        if self.args.verbose > 1:
46            print(' -- {}.adjust_command {}'.format(self.sub_class, stage))
47
48        # if stage == 'pre':
49        #     pass
50        # elif stage == 'setup':
51        #     pass
52        # elif stage == 'execute':
53        #     pass
54        # elif stage == 'verify':
55        #     pass
56        # elif stage == 'teardown':
57        #     pass
58        # elif stage == 'post':
59        #     pass
60        # else:
61        #     pass
62
63        return command
64
65    def add_args(self, parser):
66        '''Get the plugin args from the command line'''
67        self.argparser = parser
68        return self.argparser
69
70    def check_args(self, args, remaining):
71        '''Check that the args are set correctly'''
72        self.args = args
73        if self.args.verbose > 1:
74            print(' -- {}.check_args'.format(self.sub_class))
75