azdev 0.1.89__tar.gz → 0.1.90__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 (104) hide show
  1. {azdev-0.1.89 → azdev-0.1.90}/HISTORY.rst +4 -0
  2. {azdev-0.1.89/azdev.egg-info → azdev-0.1.90}/PKG-INFO +5 -1
  3. {azdev-0.1.89 → azdev-0.1.90}/azdev/__init__.py +1 -1
  4. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/linter/rules/command_coverage_rules.py +1 -1
  5. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/regex.py +3 -2
  6. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/testtool/__init__.py +17 -10
  7. {azdev-0.1.89 → azdev-0.1.90/azdev.egg-info}/PKG-INFO +5 -1
  8. {azdev-0.1.89 → azdev-0.1.90}/LICENSE +0 -0
  9. {azdev-0.1.89 → azdev-0.1.90}/MANIFEST.in +0 -0
  10. {azdev-0.1.89 → azdev-0.1.90}/README.md +0 -0
  11. {azdev-0.1.89 → azdev-0.1.90}/README.rst +0 -0
  12. {azdev-0.1.89 → azdev-0.1.90}/azdev/__main__.py +0 -0
  13. {azdev-0.1.89 → azdev-0.1.90}/azdev/commands.py +0 -0
  14. {azdev-0.1.89 → azdev-0.1.90}/azdev/completer.py +0 -0
  15. {azdev-0.1.89 → azdev-0.1.90}/azdev/config/__init__.py +0 -0
  16. {azdev-0.1.89 → azdev-0.1.90}/azdev/config/cli.flake8 +0 -0
  17. {azdev-0.1.89 → azdev-0.1.90}/azdev/config/cli_pylintrc +0 -0
  18. {azdev-0.1.89 → azdev-0.1.90}/azdev/config/ext.flake8 +0 -0
  19. {azdev-0.1.89 → azdev-0.1.90}/azdev/config/ext_pylintrc +0 -0
  20. {azdev-0.1.89 → azdev-0.1.90}/azdev/help.py +0 -0
  21. {azdev-0.1.89 → azdev-0.1.90}/azdev/mod_templates/HISTORY.rst +0 -0
  22. {azdev-0.1.89 → azdev-0.1.90}/azdev/mod_templates/README.rst +0 -0
  23. {azdev-0.1.89 → azdev-0.1.90}/azdev/mod_templates/_client_factory.py +0 -0
  24. {azdev-0.1.89 → azdev-0.1.90}/azdev/mod_templates/_help.py +0 -0
  25. {azdev-0.1.89 → azdev-0.1.90}/azdev/mod_templates/_params.py +0 -0
  26. {azdev-0.1.89 → azdev-0.1.90}/azdev/mod_templates/_validators.py +0 -0
  27. {azdev-0.1.89 → azdev-0.1.90}/azdev/mod_templates/azext_metadata.json +0 -0
  28. {azdev-0.1.89 → azdev-0.1.90}/azdev/mod_templates/blank__init__.py +0 -0
  29. {azdev-0.1.89 → azdev-0.1.90}/azdev/mod_templates/commands.py +0 -0
  30. {azdev-0.1.89 → azdev-0.1.90}/azdev/mod_templates/custom.py +0 -0
  31. {azdev-0.1.89 → azdev-0.1.90}/azdev/mod_templates/module__init__.py +0 -0
  32. {azdev-0.1.89 → azdev-0.1.90}/azdev/mod_templates/pkg_declare__init__.py +0 -0
  33. {azdev-0.1.89 → azdev-0.1.90}/azdev/mod_templates/setup.cfg +0 -0
  34. {azdev-0.1.89 → azdev-0.1.90}/azdev/mod_templates/setup.py +0 -0
  35. {azdev-0.1.89 → azdev-0.1.90}/azdev/mod_templates/test_service_scenario.py +0 -0
  36. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/__init__.py +0 -0
  37. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/breaking_change/__init__.py +0 -0
  38. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/breaking_change/markdown_template.jinja2 +0 -0
  39. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/cmdcov/__init__.py +0 -0
  40. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/cmdcov/_macros.j2 +0 -0
  41. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/cmdcov/cmdcov.py +0 -0
  42. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/cmdcov/component.css +0 -0
  43. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/cmdcov/component.js +0 -0
  44. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/cmdcov/favicon.ico +0 -0
  45. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/cmdcov/index.j2 +0 -0
  46. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/cmdcov/index2.j2 +0 -0
  47. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/cmdcov/module.j2 +0 -0
  48. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/code_gen.py +0 -0
  49. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/command_change/__init__.py +0 -0
  50. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/command_change/custom.py +0 -0
  51. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/command_change/util.py +0 -0
  52. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/constant.py +0 -0
  53. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/extensions/__init__.py +0 -0
  54. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/extensions/util.py +0 -0
  55. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/extensions/version_upgrade.py +0 -0
  56. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/help/__init__.py +0 -0
  57. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/help/refdoc/__init__.py +0 -0
  58. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/help/refdoc/conf.py +0 -0
  59. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/legal.py +0 -0
  60. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/linter/__init__.py +0 -0
  61. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/linter/linter.py +0 -0
  62. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/linter/pylint_checkers/__init__.py +0 -0
  63. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/linter/pylint_checkers/show_command.py +0 -0
  64. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/linter/rule_decorators.py +0 -0
  65. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/linter/rules/__init__.py +0 -0
  66. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/linter/rules/ci_exclusions.yml +0 -0
  67. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/linter/rules/command_group_rules.py +0 -0
  68. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/linter/rules/command_rules.py +0 -0
  69. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/linter/rules/help_rules.py +0 -0
  70. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/linter/rules/linter_exclusions.yml +0 -0
  71. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/linter/rules/parameter_rules.py +0 -0
  72. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/linter/util.py +0 -0
  73. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/performance.py +0 -0
  74. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/pypi.py +0 -0
  75. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/python_sdk.py +0 -0
  76. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/resource.py +0 -0
  77. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/secret.py +0 -0
  78. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/setup.py +0 -0
  79. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/statistics/__init__.py +0 -0
  80. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/statistics/util.py +0 -0
  81. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/style.py +0 -0
  82. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/testtool/incremental_strategy.py +0 -0
  83. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/testtool/profile_context.py +0 -0
  84. {azdev-0.1.89 → azdev-0.1.90}/azdev/operations/testtool/pytest_runner.py +0 -0
  85. {azdev-0.1.89 → azdev-0.1.90}/azdev/params.py +0 -0
  86. {azdev-0.1.89 → azdev-0.1.90}/azdev/transformers.py +0 -0
  87. {azdev-0.1.89 → azdev-0.1.90}/azdev/utilities/__init__.py +0 -0
  88. {azdev-0.1.89 → azdev-0.1.90}/azdev/utilities/command.py +0 -0
  89. {azdev-0.1.89 → azdev-0.1.90}/azdev/utilities/config.py +0 -0
  90. {azdev-0.1.89 → azdev-0.1.90}/azdev/utilities/const.py +0 -0
  91. {azdev-0.1.89 → azdev-0.1.90}/azdev/utilities/display.py +0 -0
  92. {azdev-0.1.89 → azdev-0.1.90}/azdev/utilities/git_util.py +0 -0
  93. {azdev-0.1.89 → azdev-0.1.90}/azdev/utilities/path.py +0 -0
  94. {azdev-0.1.89 → azdev-0.1.90}/azdev/utilities/pypi.py +0 -0
  95. {azdev-0.1.89 → azdev-0.1.90}/azdev/utilities/testing.py +0 -0
  96. {azdev-0.1.89 → azdev-0.1.90}/azdev/utilities/tools.py +0 -0
  97. {azdev-0.1.89 → azdev-0.1.90}/azdev.egg-info/SOURCES.txt +0 -0
  98. {azdev-0.1.89 → azdev-0.1.90}/azdev.egg-info/dependency_links.txt +0 -0
  99. {azdev-0.1.89 → azdev-0.1.90}/azdev.egg-info/entry_points.txt +0 -0
  100. {azdev-0.1.89 → azdev-0.1.90}/azdev.egg-info/requires.txt +0 -0
  101. {azdev-0.1.89 → azdev-0.1.90}/azdev.egg-info/top_level.txt +0 -0
  102. {azdev-0.1.89 → azdev-0.1.90}/pyproject.toml +0 -0
  103. {azdev-0.1.89 → azdev-0.1.90}/setup.cfg +0 -0
  104. {azdev-0.1.89 → azdev-0.1.90}/setup.py +0 -0
@@ -2,6 +2,10 @@
2
2
 
3
3
  Release History
4
4
  ===============
5
+ 0.1.90
6
+ ++++++
7
+ * `azdev cmdcov`: Fix incorrect detection of code changes as new commands
8
+
5
9
  0.1.89
6
10
  ++++++
7
11
  * `azdev scan/mask`: Add `--continue-on-failure` support
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: azdev
3
- Version: 0.1.89
3
+ Version: 0.1.90
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
@@ -148,6 +148,10 @@ License
148
148
 
149
149
  Release History
150
150
  ===============
151
+ 0.1.90
152
+ ++++++
153
+ * `azdev cmdcov`: Fix incorrect detection of code changes as new commands
154
+
151
155
  0.1.89
152
156
  ++++++
153
157
  * `azdev scan/mask`: Add `--continue-on-failure` support
@@ -4,4 +4,4 @@
4
4
  # license information.
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __VERSION__ = '0.1.89'
7
+ __VERSION__ = '0.1.90'
@@ -8,7 +8,7 @@ from ..rule_decorators import CommandCoverageRule
8
8
  from ..linter import RuleError, LinterSeverity
9
9
 
10
10
 
11
- @CommandCoverageRule(LinterSeverity.HIGH)
11
+ @CommandCoverageRule(LinterSeverity.MEDIUM)
12
12
  def missing_command_test_coverage(linter):
13
13
  exec_state, violations = linter.get_command_test_coverage()
14
14
  if not exec_state:
@@ -144,6 +144,7 @@ def search_argument(line):
144
144
  def search_command_group(row_num, lines, command):
145
145
  cmd = ''
146
146
  while row_num > 0:
147
+ row_num = len(lines) - 1 if row_num >= len(lines) else row_num
147
148
  row_num -= 1
148
149
  # Match `with self.command_group('local-context',` and `with self.command_group('xxx')`
149
150
  sub_pattern = r'with self.command_group\(\'(.*?)\',?'
@@ -166,8 +167,8 @@ def search_command(line):
166
167
 
167
168
  def search_deleted_command(line):
168
169
  command = ''
169
- # Match `- g.*command(xxx)`
170
- pattern = r'\-\s+g.(?:\w+)?command\((.*)\)'
170
+ # Match `[-!] g.*command(xxx)`
171
+ pattern = r'[-!]\s+g.(?:\w+)?command\((.*)\)'
171
172
  ref = re.findall(pattern, line)
172
173
  if ref:
173
174
  command = ref[0].split(',')[0].strip("'")
@@ -44,8 +44,7 @@ def run_tests(tests, xml_path=None, discover=False, in_series=False,
44
44
  heading('Run Tests')
45
45
 
46
46
  path_table = get_path_table()
47
-
48
- test_index = _get_test_index(profile or current_profile(), discover)
47
+ target_tests = set()
49
48
 
50
49
  if not tests:
51
50
  tests = list(path_table['mod'].keys()) + list(path_table['core'].keys()) + list(path_table['ext'].keys())
@@ -53,6 +52,10 @@ def run_tests(tests, xml_path=None, discover=False, in_series=False,
53
52
  tests = list(path_table['mod'].keys()) + list(path_table['core'].keys())
54
53
  elif tests == ['EXT']:
55
54
  tests = list(path_table['ext'].keys())
55
+ else:
56
+ target_tests = set(tests)
57
+
58
+ test_index = _get_test_index(profile or current_profile(), discover, target_tests=target_tests)
56
59
 
57
60
  # filter out tests whose modules haven't changed
58
61
  modified_mods = _filter_by_git_diff(tests, test_index, git_source, git_target, git_repo)
@@ -193,7 +196,7 @@ def _discover_module_tests(mod_name, mod_data):
193
196
 
194
197
 
195
198
  # pylint: disable=too-many-statements, too-many-locals
196
- def _discover_tests(profile):
199
+ def _discover_tests(profile, target_tests):
197
200
  """ Builds an index of tests so that the user can simply supply the name they wish to test instead of the
198
201
  full path.
199
202
  """
@@ -274,13 +277,17 @@ def _discover_tests(profile):
274
277
  mod2 = extract_module_name(test_index[key])
275
278
  if mod1 != mod2:
276
279
  # resolve conflicted keys by prefixing with the module name and a dot (.)
277
- logger.warning("'%s' exists in both '%s' and '%s'. Resolve using `%s.%s` or `%s.%s`",
278
- key, mod1, mod2, mod1, key, mod2, key)
280
+ if key in target_tests or mod1 in target_tests or mod2 in target_tests:
281
+ logger.warning("'%s' exists in both '%s' and '%s'. Resolve using `%s.%s` or `%s.%s`"
282
+ "Duplication exists in: \n\t%s\n\t%s\n",
283
+ key, mod1, mod2, mod1, key, mod2, key, path, test_index[key])
279
284
  test_index['{}.{}'.format(mod1, key)] = path
280
285
  test_index['{}.{}'.format(mod2, key)] = test_index[key]
281
286
  else:
282
- logger.error("'%s' exists twice in the '%s' module. "
283
- "Please rename one or both and re-run --discover.", key, mod1)
287
+ if key in target_tests or mod1 in target_tests:
288
+ logger.error("'%s' exists twice in the '%s' module. "
289
+ "Please rename one or both and re-run --discover. "
290
+ "Duplication exists in: \n\t%s\n\t%s\n", key, mod1, test_index[key], path)
284
291
  else:
285
292
  test_index[key] = path
286
293
 
@@ -310,14 +317,14 @@ def _discover_tests(profile):
310
317
  return test_index
311
318
 
312
319
 
313
- def _get_test_index(profile, discover):
320
+ def _get_test_index(profile, discover, target_tests):
314
321
  config_dir = get_azdev_config_dir()
315
322
  test_index_dir = os.path.join(config_dir, 'test_index')
316
323
  make_dirs(test_index_dir)
317
324
  test_index_path = os.path.join(test_index_dir, '{}.json'.format(profile))
318
325
  test_index = {}
319
326
  if discover:
320
- test_index = _discover_tests(profile)
327
+ test_index = _discover_tests(profile, target_tests)
321
328
  with open(test_index_path, 'w') as f:
322
329
  f.write(json.dumps(test_index))
323
330
  display('\ntest index updated: {}'.format(test_index_path))
@@ -326,7 +333,7 @@ def _get_test_index(profile, discover):
326
333
  test_index = json.loads(''.join(f.readlines()))
327
334
  display('\ntest index found: {}'.format(test_index_path))
328
335
  else:
329
- test_index = _discover_tests(profile)
336
+ test_index = _discover_tests(profile, target_tests)
330
337
  with open(test_index_path, 'w') as f:
331
338
  f.write(json.dumps(test_index))
332
339
  display('\ntest index created: {}'.format(test_index_path))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: azdev
3
- Version: 0.1.89
3
+ Version: 0.1.90
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
@@ -148,6 +148,10 @@ License
148
148
 
149
149
  Release History
150
150
  ===============
151
+ 0.1.90
152
+ ++++++
153
+ * `azdev cmdcov`: Fix incorrect detection of code changes as new commands
154
+
151
155
  0.1.89
152
156
  ++++++
153
157
  * `azdev scan/mask`: Add `--continue-on-failure` support
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
File without changes