/ tools / test_idf_py / idf_ext.py
idf_ext.py
 1  def action_extensions(base_actions, project_path=None):
 2      def echo(name, *args, **kwargs):
 3          print(name, args, kwargs)
 4  
 5      def verbose(name, ctx, args):
 6          print("Output from test-verbose")
 7          if args.verbose:
 8              print("Verbose mode on")
 9  
10      # Add global options
11      extensions = {
12          "global_options": [
13              {
14                  "names": ["--test-0"],
15                  "help": "Non-deprecated option.",
16                  "deprecated": False
17              },
18              {
19                  "names": ["--test-1"],
20                  "help": "Deprecated option 1.",
21                  "deprecated": True
22              },
23              {
24                  "names": ["--test-2"],
25                  "help": "Deprecated option 2.",
26                  "deprecated": "Please update your parameters."
27              },
28              {
29                  "names": ["--test-3"],
30                  "help": "Deprecated option 3.",
31                  "deprecated": {
32                      "custom_message": "Please update your parameters."
33                  }
34              },
35              {
36                  "names": ["--test-4"],
37                  "help": "Deprecated option 4.",
38                  "deprecated": {
39                      "since": "v4.0",
40                      "removed": "v5.0"
41                  }
42              },
43              {
44                  "names": ["--test-5"],
45                  "help": "Deprecated option 5.",
46                  "deprecated": {
47                      "since": "v2.0",
48                      "removed": "v3.0",
49                      "exit_with_error": True
50                  }
51              },
52          ],
53          "actions": {
54              "test-verbose": {
55                  "callback": verbose,
56                  "help": "Command that have some verbosity",
57              },
58              "test-0": {
59                  "callback": echo,
60                  "help": "Non-deprecated command 0",
61                  "options": [
62                      {
63                          "names": ["--test-sub-0"],
64                          "help": "Non-deprecated subcommand option 0",
65                          "default": None,
66                      },
67                      {
68                          "names": ["--test-sub-1"],
69                          "help": "Deprecated subcommand option 1",
70                          "default": None,
71                          "deprecated": True
72                      },
73                  ],
74                  "arguments": [{
75                      "names": ["test-arg-0"],
76                  }],
77              },
78              "test-1": {
79                  "callback": echo,
80                  "help": "Deprecated command 1",
81                  "deprecated": "Please use alternative command."
82              },
83              "test-2": {
84                  "callback": echo,
85                  "help": "Deprecated command 2",
86                  "deprecated": {
87                      "exit_with_error": True
88                  }
89              },
90          },
91      }
92  
93      return extensions