azdev 0.1.77__tar.gz → 0.1.78__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. {azdev-0.1.77 → azdev-0.1.78}/HISTORY.rst +4 -0
  2. {azdev-0.1.77/azdev.egg-info → azdev-0.1.78}/PKG-INFO +7 -1
  3. {azdev-0.1.77 → azdev-0.1.78}/README.rst +2 -0
  4. {azdev-0.1.77 → azdev-0.1.78}/azdev/__init__.py +1 -1
  5. {azdev-0.1.77 → azdev-0.1.78}/azdev/params.py +1 -1
  6. {azdev-0.1.77 → azdev-0.1.78}/azdev/utilities/command.py +21 -8
  7. {azdev-0.1.77 → azdev-0.1.78/azdev.egg-info}/PKG-INFO +7 -1
  8. {azdev-0.1.77 → azdev-0.1.78}/LICENSE +0 -0
  9. {azdev-0.1.77 → azdev-0.1.78}/MANIFEST.in +0 -0
  10. {azdev-0.1.77 → azdev-0.1.78}/README.md +0 -0
  11. {azdev-0.1.77 → azdev-0.1.78}/azdev/__main__.py +0 -0
  12. {azdev-0.1.77 → azdev-0.1.78}/azdev/commands.py +0 -0
  13. {azdev-0.1.77 → azdev-0.1.78}/azdev/completer.py +0 -0
  14. {azdev-0.1.77 → azdev-0.1.78}/azdev/config/__init__.py +0 -0
  15. {azdev-0.1.77 → azdev-0.1.78}/azdev/config/cli.flake8 +0 -0
  16. {azdev-0.1.77 → azdev-0.1.78}/azdev/config/cli_pylintrc +0 -0
  17. {azdev-0.1.77 → azdev-0.1.78}/azdev/config/ext.flake8 +0 -0
  18. {azdev-0.1.77 → azdev-0.1.78}/azdev/config/ext_pylintrc +0 -0
  19. {azdev-0.1.77 → azdev-0.1.78}/azdev/help.py +0 -0
  20. {azdev-0.1.77 → azdev-0.1.78}/azdev/mod_templates/HISTORY.rst +0 -0
  21. {azdev-0.1.77 → azdev-0.1.78}/azdev/mod_templates/README.rst +0 -0
  22. {azdev-0.1.77 → azdev-0.1.78}/azdev/mod_templates/_client_factory.py +0 -0
  23. {azdev-0.1.77 → azdev-0.1.78}/azdev/mod_templates/_help.py +0 -0
  24. {azdev-0.1.77 → azdev-0.1.78}/azdev/mod_templates/_params.py +0 -0
  25. {azdev-0.1.77 → azdev-0.1.78}/azdev/mod_templates/_validators.py +0 -0
  26. {azdev-0.1.77 → azdev-0.1.78}/azdev/mod_templates/azext_metadata.json +0 -0
  27. {azdev-0.1.77 → azdev-0.1.78}/azdev/mod_templates/blank__init__.py +0 -0
  28. {azdev-0.1.77 → azdev-0.1.78}/azdev/mod_templates/commands.py +0 -0
  29. {azdev-0.1.77 → azdev-0.1.78}/azdev/mod_templates/custom.py +0 -0
  30. {azdev-0.1.77 → azdev-0.1.78}/azdev/mod_templates/module__init__.py +0 -0
  31. {azdev-0.1.77 → azdev-0.1.78}/azdev/mod_templates/pkg_declare__init__.py +0 -0
  32. {azdev-0.1.77 → azdev-0.1.78}/azdev/mod_templates/setup.cfg +0 -0
  33. {azdev-0.1.77 → azdev-0.1.78}/azdev/mod_templates/setup.py +0 -0
  34. {azdev-0.1.77 → azdev-0.1.78}/azdev/mod_templates/test_service_scenario.py +0 -0
  35. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/__init__.py +0 -0
  36. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/cmdcov/__init__.py +0 -0
  37. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/cmdcov/_macros.j2 +0 -0
  38. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/cmdcov/cmdcov.py +0 -0
  39. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/cmdcov/component.css +0 -0
  40. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/cmdcov/component.js +0 -0
  41. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/cmdcov/favicon.ico +0 -0
  42. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/cmdcov/index.j2 +0 -0
  43. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/cmdcov/index2.j2 +0 -0
  44. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/cmdcov/module.j2 +0 -0
  45. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/code_gen.py +0 -0
  46. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/command_change/__init__.py +0 -0
  47. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/command_change/custom.py +0 -0
  48. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/command_change/util.py +0 -0
  49. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/constant.py +0 -0
  50. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/extensions/__init__.py +0 -0
  51. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/extensions/util.py +0 -0
  52. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/extensions/version_upgrade.py +0 -0
  53. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/help/__init__.py +0 -0
  54. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/help/refdoc/__init__.py +0 -0
  55. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/help/refdoc/conf.py +0 -0
  56. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/legal.py +0 -0
  57. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/linter/__init__.py +0 -0
  58. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/linter/linter.py +0 -0
  59. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/linter/pylint_checkers/__init__.py +0 -0
  60. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/linter/pylint_checkers/show_command.py +0 -0
  61. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/linter/rule_decorators.py +0 -0
  62. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/linter/rules/__init__.py +0 -0
  63. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/linter/rules/ci_exclusions.yml +0 -0
  64. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/linter/rules/command_coverage_rules.py +0 -0
  65. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/linter/rules/command_group_rules.py +0 -0
  66. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/linter/rules/command_rules.py +0 -0
  67. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/linter/rules/help_rules.py +0 -0
  68. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/linter/rules/linter_exclusions.yml +0 -0
  69. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/linter/rules/parameter_rules.py +0 -0
  70. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/linter/util.py +0 -0
  71. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/performance.py +0 -0
  72. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/pypi.py +0 -0
  73. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/python_sdk.py +0 -0
  74. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/regex.py +0 -0
  75. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/resource.py +0 -0
  76. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/secret.py +0 -0
  77. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/setup.py +0 -0
  78. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/statistics/__init__.py +0 -0
  79. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/statistics/util.py +0 -0
  80. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/style.py +0 -0
  81. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/testtool/__init__.py +0 -0
  82. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/testtool/incremental_strategy.py +0 -0
  83. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/testtool/profile_context.py +0 -0
  84. {azdev-0.1.77 → azdev-0.1.78}/azdev/operations/testtool/pytest_runner.py +0 -0
  85. {azdev-0.1.77 → azdev-0.1.78}/azdev/transformers.py +0 -0
  86. {azdev-0.1.77 → azdev-0.1.78}/azdev/utilities/__init__.py +0 -0
  87. {azdev-0.1.77 → azdev-0.1.78}/azdev/utilities/config.py +0 -0
  88. {azdev-0.1.77 → azdev-0.1.78}/azdev/utilities/const.py +0 -0
  89. {azdev-0.1.77 → azdev-0.1.78}/azdev/utilities/display.py +0 -0
  90. {azdev-0.1.77 → azdev-0.1.78}/azdev/utilities/git_util.py +0 -0
  91. {azdev-0.1.77 → azdev-0.1.78}/azdev/utilities/path.py +0 -0
  92. {azdev-0.1.77 → azdev-0.1.78}/azdev/utilities/pypi.py +0 -0
  93. {azdev-0.1.77 → azdev-0.1.78}/azdev/utilities/testing.py +0 -0
  94. {azdev-0.1.77 → azdev-0.1.78}/azdev/utilities/tools.py +0 -0
  95. {azdev-0.1.77 → azdev-0.1.78}/azdev.egg-info/SOURCES.txt +0 -0
  96. {azdev-0.1.77 → azdev-0.1.78}/azdev.egg-info/dependency_links.txt +0 -0
  97. {azdev-0.1.77 → azdev-0.1.78}/azdev.egg-info/entry_points.txt +0 -0
  98. {azdev-0.1.77 → azdev-0.1.78}/azdev.egg-info/requires.txt +0 -0
  99. {azdev-0.1.77 → azdev-0.1.78}/azdev.egg-info/top_level.txt +0 -0
  100. {azdev-0.1.77 → azdev-0.1.78}/pyproject.toml +0 -0
  101. {azdev-0.1.77 → azdev-0.1.78}/setup.cfg +0 -0
  102. {azdev-0.1.77 → azdev-0.1.78}/setup.py +0 -0
@@ -2,6 +2,10 @@
2
2
 
3
3
  Release History
4
4
  ===============
5
+ 0.1.78
6
+ ++++++
7
+ * Mitigate shell injection risk from user input.
8
+
5
9
  0.1.77
6
10
  ++++++
7
11
  * `azdev extension cal-next-version`: Fix pre_num when tagged preview version with `major`, `minor`, `patch`.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: azdev
3
- Version: 0.1.77
3
+ Version: 0.1.78
4
4
  Summary: Microsoft Azure CLI Developer Tools
5
5
  Home-page: https://github.com/Azure/azure-cli-dev-tools
6
6
  Author: Microsoft Corporation
@@ -47,6 +47,8 @@ Microsoft Azure CLI Dev Tools (azdev)
47
47
 
48
48
  The ``azdev`` tool is designed to aid new and experienced developers in contributing to Azure CLI command modules and extensions.
49
49
 
50
+ Notes: `azdev` command line tool is only designed for internal use and running on a local machine. It should never be used to take input from untrusted/outside sources or used behind another application.
51
+
50
52
  Setting up your development environment
51
53
  +++++++++++++++++++++++++++++++++++++++
52
54
 
@@ -146,6 +148,10 @@ License
146
148
 
147
149
  Release History
148
150
  ===============
151
+ 0.1.78
152
+ ++++++
153
+ * Mitigate shell injection risk from user input.
154
+
149
155
  0.1.77
150
156
  ++++++
151
157
  * `azdev extension cal-next-version`: Fix pre_num when tagged preview version with `major`, `minor`, `patch`.
@@ -3,6 +3,8 @@ Microsoft Azure CLI Dev Tools (azdev)
3
3
 
4
4
  The ``azdev`` tool is designed to aid new and experienced developers in contributing to Azure CLI command modules and extensions.
5
5
 
6
+ Notes: `azdev` command line tool is only designed for internal use and running on a local machine. It should never be used to take input from untrusted/outside sources or used behind another application.
7
+
6
8
  Setting up your development environment
7
9
  +++++++++++++++++++++++++++++++++++++++
8
10
 
@@ -4,4 +4,4 @@
4
4
  # license information.
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __VERSION__ = '0.1.77'
7
+ __VERSION__ = '0.1.78'
@@ -50,7 +50,7 @@ def load_arguments(self, _):
50
50
  help="Space-separated list of tests to run. Can specify module or extension names, test filenames, class name or individual method names. "
51
51
  "Omit to check all or use 'CLI' or 'EXT' to check only CLI modules or extensions respectively.",
52
52
  completer=get_test_completion)
53
- c.argument('profile', options_list='--profile', help='Run automation against a specific profile. If omit, the tests will run against current profile.')
53
+ c.argument('profile', options_list='--profile', choices=['latest', '2017-03-09-profile', '2018-03-01-hybrid', '2019-03-01-hybrid', '2020-09-01-profile'], help='Run automation against a specific profile. If omit, the tests will run against current profile.')
54
54
  c.argument('pytest_args', nargs=argparse.REMAINDER, options_list=['--pytest-args', '-a'], help='Denotes the remaining args will be passed to pytest.')
55
55
  c.argument('last_failed', options_list='--lf', action='store_true', help='Re-run the last tests that failed.')
56
56
  c.argument('no_exit_first', options_list='--no-exitfirst', action='store_true', help='Do not exit on first error or failed test')
@@ -7,6 +7,7 @@
7
7
  import os
8
8
  import subprocess
9
9
  import sys
10
+ import shlex
10
11
 
11
12
  from knack.log import get_logger
12
13
  from knack.util import CommandResultItem
@@ -31,10 +32,16 @@ def call(command, **kwargs):
31
32
  :param kwargs: Any kwargs supported by subprocess.Popen
32
33
  :returns: (int) process exit code.
33
34
  """
34
- return subprocess.call(
35
- command,
36
- shell=True,
37
- **kwargs)
35
+ from azdev.utilities import IS_WINDOWS
36
+ cmd_args = command
37
+ if IS_WINDOWS and command.startswith('az '):
38
+ cmd_args = "az.bat " + command[3:]
39
+ if not IS_WINDOWS:
40
+ cmd_args = shlex.split(command)
41
+ return subprocess.run(
42
+ cmd_args,
43
+ check=False, # supress subprocess-run-check linter warning, no CalledProcessError
44
+ **kwargs).returncode
38
45
 
39
46
 
40
47
  def cmd(command, message=False, show_stderr=True, raise_error=False, **kwargs):
@@ -57,12 +64,18 @@ def cmd(command, message=False, show_stderr=True, raise_error=False, **kwargs):
57
64
  display(message)
58
65
 
59
66
  logger.info("Running: %s", command)
67
+ cmd_args = command
68
+ if IS_WINDOWS and command.startswith('az '):
69
+ cmd_args = "az.bat " + command[3:]
70
+ if not IS_WINDOWS:
71
+ cmd_args = shlex.split(command)
60
72
  try:
61
- output = subprocess.check_output(
62
- command.split(),
73
+ output = subprocess.run(
74
+ cmd_args,
75
+ check=True,
76
+ stdout=subprocess.PIPE,
63
77
  stderr=subprocess.STDOUT if show_stderr else None,
64
- shell=IS_WINDOWS,
65
- **kwargs).decode('utf-8').strip()
78
+ **kwargs).stdout.decode('utf-8').strip()
66
79
  logger.debug(output)
67
80
  return CommandResultItem(output, exit_code=0, error=None)
68
81
  except subprocess.CalledProcessError as err:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: azdev
3
- Version: 0.1.77
3
+ Version: 0.1.78
4
4
  Summary: Microsoft Azure CLI Developer Tools
5
5
  Home-page: https://github.com/Azure/azure-cli-dev-tools
6
6
  Author: Microsoft Corporation
@@ -47,6 +47,8 @@ Microsoft Azure CLI Dev Tools (azdev)
47
47
 
48
48
  The ``azdev`` tool is designed to aid new and experienced developers in contributing to Azure CLI command modules and extensions.
49
49
 
50
+ Notes: `azdev` command line tool is only designed for internal use and running on a local machine. It should never be used to take input from untrusted/outside sources or used behind another application.
51
+
50
52
  Setting up your development environment
51
53
  +++++++++++++++++++++++++++++++++++++++
52
54
 
@@ -146,6 +148,10 @@ License
146
148
 
147
149
  Release History
148
150
  ===============
151
+ 0.1.78
152
+ ++++++
153
+ * Mitigate shell injection risk from user input.
154
+
149
155
  0.1.77
150
156
  ++++++
151
157
  * `azdev extension cal-next-version`: Fix pre_num when tagged preview version with `major`, `minor`, `patch`.
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes