codecov-cli 10.1.1__tar.gz → 10.2.0__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 (206) hide show
  1. {codecov_cli-10.1.1/codecov_cli.egg-info → codecov_cli-10.2.0}/PKG-INFO +2 -1
  2. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/README.md +1 -0
  3. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/commands/upload.py +8 -0
  4. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/commands/upload_coverage.py +3 -0
  5. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/commands/upload_process.py +2 -0
  6. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/versioning_systems.py +11 -6
  7. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/upload/__init__.py +2 -0
  8. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/upload/network_finder.py +7 -1
  9. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/upload_coverage/__init__.py +2 -0
  10. {codecov_cli-10.1.1 → codecov_cli-10.2.0/codecov_cli.egg-info}/PKG-INFO +2 -1
  11. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/pyproject.toml +1 -1
  12. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/commands/test_invoke_upload_coverage.py +3 -0
  13. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/commands/test_invoke_upload_process.py +3 -0
  14. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/helpers/test_network_finder.py +13 -4
  15. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/helpers/test_versioning_systems.py +11 -0
  16. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/services/upload/test_upload_collector.py +2 -2
  17. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/services/upload/test_upload_service.py +6 -0
  18. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/LICENSE +0 -0
  19. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/MANIFEST.in +0 -0
  20. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/__init__.py +0 -0
  21. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/commands/__init__.py +0 -0
  22. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/commands/base_picking.py +0 -0
  23. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/commands/commit.py +0 -0
  24. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/commands/create_report_result.py +0 -0
  25. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/commands/empty_upload.py +0 -0
  26. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/commands/get_report_results.py +0 -0
  27. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/commands/labelanalysis.py +0 -0
  28. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/commands/process_test_results.py +0 -0
  29. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/commands/report.py +0 -0
  30. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/commands/send_notifications.py +0 -0
  31. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/commands/staticanalysis.py +0 -0
  32. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/fallbacks.py +0 -0
  33. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/__init__.py +0 -0
  34. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/args.py +0 -0
  35. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/ci_adapters/__init__.py +0 -0
  36. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/ci_adapters/appveyor_ci.py +0 -0
  37. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/ci_adapters/azure_pipelines.py +0 -0
  38. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/ci_adapters/base.py +0 -0
  39. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/ci_adapters/bitbucket_ci.py +0 -0
  40. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/ci_adapters/bitrise_ci.py +0 -0
  41. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/ci_adapters/buildkite.py +0 -0
  42. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/ci_adapters/circleci.py +0 -0
  43. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/ci_adapters/cirrus_ci.py +0 -0
  44. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/ci_adapters/cloudbuild.py +0 -0
  45. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/ci_adapters/codebuild.py +0 -0
  46. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/ci_adapters/droneci.py +0 -0
  47. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/ci_adapters/github_actions.py +0 -0
  48. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/ci_adapters/gitlab_ci.py +0 -0
  49. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/ci_adapters/heroku.py +0 -0
  50. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/ci_adapters/jenkins.py +0 -0
  51. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/ci_adapters/local.py +0 -0
  52. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/ci_adapters/teamcity.py +0 -0
  53. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/ci_adapters/travis_ci.py +0 -0
  54. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/ci_adapters/woodpeckerci.py +0 -0
  55. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/config.py +0 -0
  56. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/encoder.py +0 -0
  57. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/folder_searcher.py +0 -0
  58. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/git.py +0 -0
  59. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/git_services/__init__.py +0 -0
  60. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/git_services/github.py +0 -0
  61. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/glob.py +0 -0
  62. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/logging_utils.py +0 -0
  63. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/options.py +0 -0
  64. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/request.py +0 -0
  65. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/upload_type.py +0 -0
  66. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/helpers/validators.py +0 -0
  67. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/main.py +0 -0
  68. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/opentelemetry.py +0 -0
  69. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/plugins/__init__.py +0 -0
  70. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/plugins/compress_pycoverage_contexts.py +0 -0
  71. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/plugins/gcov.py +0 -0
  72. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/plugins/pycoverage.py +0 -0
  73. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/plugins/types.py +0 -0
  74. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/plugins/xcode.py +0 -0
  75. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/runners/__init__.py +0 -0
  76. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/runners/dan_runner.py +0 -0
  77. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/runners/pytest_standard_runner.py +0 -0
  78. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/runners/types.py +0 -0
  79. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/__init__.py +0 -0
  80. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/commit/__init__.py +0 -0
  81. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/commit/base_picking.py +0 -0
  82. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/empty_upload/__init__.py +0 -0
  83. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/report/__init__.py +0 -0
  84. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/staticanalysis/__init__.py +0 -0
  85. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/staticanalysis/analyzers/__init__.py +0 -0
  86. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/staticanalysis/analyzers/general.py +0 -0
  87. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/staticanalysis/analyzers/javascript_es6/__init__.py +0 -0
  88. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/staticanalysis/analyzers/javascript_es6/node_wrappers.py +0 -0
  89. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/staticanalysis/analyzers/python/__init__.py +0 -0
  90. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/staticanalysis/analyzers/python/node_wrappers.py +0 -0
  91. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/staticanalysis/exceptions.py +0 -0
  92. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/staticanalysis/finders.py +0 -0
  93. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/staticanalysis/types.py +0 -0
  94. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/upload/file_finder.py +0 -0
  95. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/upload/legacy_upload_sender.py +0 -0
  96. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/upload/upload_collector.py +0 -0
  97. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/upload/upload_sender.py +0 -0
  98. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/services/upload_completion/__init__.py +0 -0
  99. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli/types.py +0 -0
  100. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli.egg-info/SOURCES.txt +0 -0
  101. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli.egg-info/dependency_links.txt +0 -0
  102. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli.egg-info/entry_points.txt +0 -0
  103. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli.egg-info/requires.txt +0 -0
  104. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/codecov_cli.egg-info/top_level.txt +0 -0
  105. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/languages/languages.c +0 -0
  106. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/languages/treesitterjavascript/src/parser.c +0 -0
  107. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/languages/treesitterjavascript/src/scanner.c +0 -0
  108. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/languages/treesitterjavascript/src/tree_sitter/parser.h +0 -0
  109. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/languages/treesitterpython/src/parser.c +0 -0
  110. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/languages/treesitterpython/src/scanner.cc +0 -0
  111. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/languages/treesitterpython/src/tree_sitter/parser.h +0 -0
  112. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/requirements.txt +0 -0
  113. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/example_cli_config.yml +0 -0
  114. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/example_module.js +0 -0
  115. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/fake_project/.codecov.yaml +0 -0
  116. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/fake_project/.codecov.yml +0 -0
  117. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/fake_project/.github/.codecov.yaml +0 -0
  118. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/fake_project/.github/.codecov.yml +0 -0
  119. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/fake_project/.github/codecov.yaml +0 -0
  120. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/fake_project/.github/codecov.yml +0 -0
  121. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/fake_project/codecov.yaml +0 -0
  122. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/fake_project/codecov.yml +0 -0
  123. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/fake_project/dev/.codecov.yaml +0 -0
  124. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/fake_project/dev/.codecov.yml +0 -0
  125. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/fake_project/dev/codecov.yaml +0 -0
  126. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/fake_project/dev/codecov.yml +0 -0
  127. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/inputs/sample_001.py +0 -0
  128. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/inputs/sample_002.py +0 -0
  129. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/inputs/sample_003.js +0 -0
  130. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/inputs/sample_004.js +0 -0
  131. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/inputs/sample_005.py +0 -0
  132. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/junit.xml +0 -0
  133. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/outputs/sample_001.json +0 -0
  134. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/outputs/sample_002.json +0 -0
  135. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/outputs/sample_003.json +0 -0
  136. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/outputs/sample_004.json +0 -0
  137. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/samples/outputs/sample_005.json +0 -0
  138. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/setup.cfg +0 -0
  139. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/setup.py +0 -0
  140. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/__init__.py +0 -0
  141. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/ci_adapters/test_appveyor.py +0 -0
  142. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/ci_adapters/test_azure_pipelines.py +0 -0
  143. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/ci_adapters/test_bitbucket_ci.py +0 -0
  144. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/ci_adapters/test_bitrise.py +0 -0
  145. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/ci_adapters/test_buildkite.py +0 -0
  146. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/ci_adapters/test_circleci.py +0 -0
  147. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/ci_adapters/test_cirrusci.py +0 -0
  148. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/ci_adapters/test_cloudbuild.py +0 -0
  149. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/ci_adapters/test_codebuild.py +0 -0
  150. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/ci_adapters/test_droneci.py +0 -0
  151. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/ci_adapters/test_ghactions.py +0 -0
  152. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/ci_adapters/test_gitlabci.py +0 -0
  153. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/ci_adapters/test_herokuci.py +0 -0
  154. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/ci_adapters/test_jenkins.py +0 -0
  155. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/ci_adapters/test_local.py +0 -0
  156. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/ci_adapters/test_teamcity.py +0 -0
  157. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/ci_adapters/test_travis_ci.py +0 -0
  158. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/ci_adapters/test_woodpeckerci.py +0 -0
  159. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/commands/__init__.py +0 -0
  160. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/commands/test_invoke_labelanalysis.py +0 -0
  161. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/commands/test_invoke_upload.py +0 -0
  162. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/commands/test_process_test_results.py +0 -0
  163. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/commands/test_upload_token_discovery.py +0 -0
  164. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/conftest.py +0 -0
  165. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/data/files_to_fix_examples/bad_encoding.go +0 -0
  166. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/data/files_to_fix_examples/sample.cpp +0 -0
  167. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/data/files_to_fix_examples/sample.go +0 -0
  168. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/data/files_to_fix_examples/sample.kt +0 -0
  169. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/data/files_to_fix_examples/sample.php +0 -0
  170. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/data/reports_examples.py +0 -0
  171. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/factory.py +0 -0
  172. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/helpers/git_services/test_github.py +0 -0
  173. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/helpers/test_args.py +0 -0
  174. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/helpers/test_ci_adapter_selection.py +0 -0
  175. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/helpers/test_config.py +0 -0
  176. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/helpers/test_encoder.py +0 -0
  177. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/helpers/test_folder_searcher.py +0 -0
  178. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/helpers/test_git.py +0 -0
  179. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/helpers/test_legacy_upload_sender.py +0 -0
  180. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/helpers/test_request.py +0 -0
  181. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/helpers/test_upload_sender.py +0 -0
  182. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/helpers/test_validators.py +0 -0
  183. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/plugins/test_compress_pycoverage_contexts.py +0 -0
  184. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/plugins/test_gcov.py +0 -0
  185. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/plugins/test_instantiation.py +0 -0
  186. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/plugins/test_pycoverage.py +0 -0
  187. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/plugins/test_xcode.py +0 -0
  188. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/requirements.in +0 -0
  189. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/requirements.txt +0 -0
  190. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/runners/test_dan_runner.py +0 -0
  191. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/runners/test_pytest_standard_runner.py +0 -0
  192. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/runners/test_runners.py +0 -0
  193. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/runners/test_types.py +0 -0
  194. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/services/commit/test_base_picking.py +0 -0
  195. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/services/commit/test_commit_service.py +0 -0
  196. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/services/empty_upload/test_empty_upload.py +0 -0
  197. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/services/report/test_report_results.py +0 -0
  198. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/services/report/test_report_service.py +0 -0
  199. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/services/static_analysis/languages/python/test_node_wrappers_malformed_code.py +0 -0
  200. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/services/static_analysis/test_analyse_file.py +0 -0
  201. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/services/static_analysis/test_static_analysis_service.py +0 -0
  202. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/services/upload/test_coverage_file_finder.py +0 -0
  203. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/services/upload_completion/test_upload_completion.py +0 -0
  204. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/test_codecov_cli.py +0 -0
  205. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/test_helpers.py +0 -0
  206. {codecov_cli-10.1.1 → codecov_cli-10.2.0}/tests/test_types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: codecov-cli
3
- Version: 10.1.1
3
+ Version: 10.2.0
4
4
  Summary: Codecov Command Line Interface
5
5
  Author-email: Tom Hu <thomas.hu@sentry.io>
6
6
  Maintainer-email: Codecov Support <support@codecov.io>
@@ -392,6 +392,7 @@ Codecov-cli supports user input. These inputs, along with their descriptions and
392
392
  |-s, --dir, --coverage-files-search-root-folder | Folder where to search for coverage files default: (Current Working Directory) | Optional
393
393
  |--exclude, --coverage-files-search-exclude-folder | Folders to exclude from search | Optional
394
394
  |-f, --file, --coverage-files-search-direct-file | Explicit files to upload | Optional
395
+ |--recurse-submodules | Whether to enumerate files inside of submodules for path-fixing purposes. Off by default. | Optional
395
396
  |--disable-search | Disable search for coverage files. This is helpful when specifying what files you want to upload with the --file option.| Optional
396
397
  |-b, --build, --build-code | Specify the build number manually | Optional
397
398
  |--build-url | The URL of the build where this is running | Optional
@@ -170,6 +170,7 @@ Codecov-cli supports user input. These inputs, along with their descriptions and
170
170
  |-s, --dir, --coverage-files-search-root-folder | Folder where to search for coverage files default: (Current Working Directory) | Optional
171
171
  |--exclude, --coverage-files-search-exclude-folder | Folders to exclude from search | Optional
172
172
  |-f, --file, --coverage-files-search-direct-file | Explicit files to upload | Optional
173
+ |--recurse-submodules | Whether to enumerate files inside of submodules for path-fixing purposes. Off by default. | Optional
173
174
  |--disable-search | Disable search for coverage files. This is helpful when specifying what files you want to upload with the --file option.| Optional
174
175
  |-b, --build, --build-code | Specify the build number manually | Optional
175
176
  |--build-url | The URL of the build where this is running | Optional
@@ -66,6 +66,12 @@ _global_upload_options = [
66
66
  multiple=True,
67
67
  default=[],
68
68
  ),
69
+ click.option(
70
+ "--recurse-submodules",
71
+ help="Whether to enumerate files inside of submodules for path-fixing purposes. Off by default.",
72
+ is_flag=True,
73
+ default=False,
74
+ ),
69
75
  click.option(
70
76
  "--disable-search",
71
77
  help="Disable search for coverage files. This is helpful when specifying what files you want to upload with the --file option.",
@@ -242,6 +248,7 @@ def do_upload(
242
248
  network_root_folder: pathlib.Path,
243
249
  plugin_names: typing.List[str],
244
250
  pull_request_number: typing.Optional[str],
251
+ recurse_submodules: bool,
245
252
  report_type_str: str,
246
253
  slug: typing.Optional[str],
247
254
  swift_project: typing.Optional[str],
@@ -297,6 +304,7 @@ def do_upload(
297
304
  network_root_folder=network_root_folder,
298
305
  plugin_names=plugin_names,
299
306
  pull_request_number=pull_request_number,
307
+ recurse_submodules=recurse_submodules,
300
308
  report_code=report_code,
301
309
  slug=slug,
302
310
  swift_project=swift_project,
@@ -56,6 +56,7 @@ def upload_coverage(
56
56
  parent_sha: typing.Optional[str],
57
57
  plugin_names: typing.List[str],
58
58
  pull_request_number: typing.Optional[str],
59
+ recurse_submodules: bool,
59
60
  report_code: str,
60
61
  report_type_str: str,
61
62
  slug: typing.Optional[str],
@@ -115,6 +116,7 @@ def upload_coverage(
115
116
  parent_sha=parent_sha,
116
117
  plugin_names=plugin_names,
117
118
  pull_request_number=pull_request_number,
119
+ recurse_submodules=recurse_submodules,
118
120
  report_code=report_code,
119
121
  slug=slug,
120
122
  swift_project=swift_project,
@@ -173,6 +175,7 @@ def upload_coverage(
173
175
  network_root_folder=network_root_folder,
174
176
  plugin_names=plugin_names,
175
177
  pull_request_number=pull_request_number,
178
+ recurse_submodules=recurse_submodules,
176
179
  report_code=report_code,
177
180
  report_type_str=report_type_str,
178
181
  slug=slug,
@@ -54,6 +54,7 @@ def upload_process(
54
54
  parent_sha: typing.Optional[str],
55
55
  plugin_names: typing.List[str],
56
56
  pull_request_number: typing.Optional[str],
57
+ recurse_submodules: bool,
57
58
  report_code: str,
58
59
  report_type_str: str,
59
60
  slug: typing.Optional[str],
@@ -122,6 +123,7 @@ def upload_process(
122
123
  network_root_folder=network_root_folder,
123
124
  plugin_names=plugin_names,
124
125
  pull_request_number=pull_request_number,
126
+ recurse_submodules=recurse_submodules,
125
127
  report_code=report_code,
126
128
  report_type_str=report_type_str,
127
129
  slug=slug,
@@ -25,7 +25,7 @@ class VersioningSystemInterface(ABC):
25
25
 
26
26
  @abstractmethod
27
27
  def list_relevant_files(
28
- self, directory: t.Optional[Path] = None
28
+ self, directory: t.Optional[Path] = None, recurse_submodules: bool = False
29
29
  ) -> t.Optional[t.List[str]]:
30
30
  pass
31
31
 
@@ -125,14 +125,17 @@ class GitVersioningSystem(VersioningSystemInterface):
125
125
  return Path(p.stdout.decode().rstrip())
126
126
  return None
127
127
 
128
- def list_relevant_files(self, directory: t.Optional[Path] = None) -> t.List[str]:
128
+ def list_relevant_files(
129
+ self, directory: t.Optional[Path] = None, recurse_submodules: bool = False
130
+ ) -> t.List[str]:
129
131
  dir_to_use = directory or self.get_network_root()
130
132
  if dir_to_use is None:
131
133
  raise ValueError("Can't determine root folder")
132
134
 
133
- res = subprocess.run(
134
- ["git", "-C", str(dir_to_use), "ls-files"], capture_output=True
135
- )
135
+ cmd = ["git", "-C", str(dir_to_use), "ls-files"]
136
+ if recurse_submodules:
137
+ cmd.append("--recurse-submodules")
138
+ res = subprocess.run(cmd, capture_output=True)
136
139
 
137
140
  return [
138
141
  (
@@ -155,5 +158,7 @@ class NoVersioningSystem(VersioningSystemInterface):
155
158
  def get_fallback_value(self, fallback_field: FallbackFieldEnum):
156
159
  return None
157
160
 
158
- def list_relevant_files(self, directory: t.Optional[Path] = None) -> t.List[str]:
161
+ def list_relevant_files(
162
+ self, directory: t.Optional[Path] = None, recurse_submodules: bool = False
163
+ ) -> t.List[str]:
159
164
  return []
@@ -56,6 +56,7 @@ def do_upload_logic(
56
56
  parent_sha: typing.Optional[str] = None,
57
57
  plugin_names: typing.List[str],
58
58
  pull_request_number: typing.Optional[str],
59
+ recurse_submodules: bool = False,
59
60
  report_code: str,
60
61
  slug: typing.Optional[str],
61
62
  swift_project: typing.Optional[str],
@@ -87,6 +88,7 @@ def do_upload_logic(
87
88
  )
88
89
  network_finder = select_network_finder(
89
90
  versioning_system,
91
+ recurse_submodules=recurse_submodules,
90
92
  network_filter=network_filter,
91
93
  network_prefix=network_prefix,
92
94
  network_root_folder=network_root_folder,
@@ -8,17 +8,21 @@ class NetworkFinder(object):
8
8
  def __init__(
9
9
  self,
10
10
  versioning_system: VersioningSystemInterface,
11
+ recurse_submodules: bool,
11
12
  network_filter: typing.Optional[str],
12
13
  network_prefix: typing.Optional[str],
13
14
  network_root_folder: pathlib.Path,
14
15
  ):
15
16
  self.versioning_system = versioning_system
17
+ self.recurse_submodules = recurse_submodules
16
18
  self.network_filter = network_filter
17
19
  self.network_prefix = network_prefix
18
20
  self.network_root_folder = network_root_folder
19
21
 
20
22
  def find_files(self, ignore_filters=False) -> typing.List[str]:
21
- files = self.versioning_system.list_relevant_files(self.network_root_folder)
23
+ files = self.versioning_system.list_relevant_files(
24
+ self.network_root_folder, self.recurse_submodules
25
+ )
22
26
 
23
27
  if files and not ignore_filters:
24
28
  if self.network_filter:
@@ -31,12 +35,14 @@ class NetworkFinder(object):
31
35
 
32
36
  def select_network_finder(
33
37
  versioning_system: VersioningSystemInterface,
38
+ recurse_submodules: bool,
34
39
  network_filter: typing.Optional[str],
35
40
  network_prefix: typing.Optional[str],
36
41
  network_root_folder: pathlib.Path,
37
42
  ):
38
43
  return NetworkFinder(
39
44
  versioning_system,
45
+ recurse_submodules,
40
46
  network_filter,
41
47
  network_prefix,
42
48
  network_root_folder,
@@ -16,6 +16,7 @@ def upload_coverage_logic(
16
16
  build_code: typing.Optional[str],
17
17
  build_url: typing.Optional[str],
18
18
  commit_sha: str,
19
+ recurse_submodules: bool,
19
20
  disable_file_fixes: bool,
20
21
  disable_search: bool,
21
22
  dry_run: bool,
@@ -58,6 +59,7 @@ def upload_coverage_logic(
58
59
  build_code=build_code,
59
60
  build_url=build_url,
60
61
  commit_sha=commit_sha,
62
+ recurse_submodules=recurse_submodules,
61
63
  disable_file_fixes=disable_file_fixes,
62
64
  disable_search=disable_search,
63
65
  dry_run=dry_run,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: codecov-cli
3
- Version: 10.1.1
3
+ Version: 10.2.0
4
4
  Summary: Codecov Command Line Interface
5
5
  Author-email: Tom Hu <thomas.hu@sentry.io>
6
6
  Maintainer-email: Codecov Support <support@codecov.io>
@@ -392,6 +392,7 @@ Codecov-cli supports user input. These inputs, along with their descriptions and
392
392
  |-s, --dir, --coverage-files-search-root-folder | Folder where to search for coverage files default: (Current Working Directory) | Optional
393
393
  |--exclude, --coverage-files-search-exclude-folder | Folders to exclude from search | Optional
394
394
  |-f, --file, --coverage-files-search-direct-file | Explicit files to upload | Optional
395
+ |--recurse-submodules | Whether to enumerate files inside of submodules for path-fixing purposes. Off by default. | Optional
395
396
  |--disable-search | Disable search for coverage files. This is helpful when specifying what files you want to upload with the --file option.| Optional
396
397
  |-b, --build, --build-code | Specify the build number manually | Optional
397
398
  |--build-url | The URL of the build where this is running | Optional
@@ -26,7 +26,7 @@ license = {file = "LICENSE"}
26
26
  name = "codecov-cli"
27
27
  readme = "README.md"
28
28
  requires-python = ">= 3.9"
29
- version = "10.1.1"
29
+ version = "10.2.0"
30
30
 
31
31
  [project.scripts]
32
32
  codecov = "codecov_cli.main:run"
@@ -91,6 +91,9 @@ def test_upload_coverage_options(mocker):
91
91
  " wish to only upload the specified files,",
92
92
  " please consider using --disable-search to",
93
93
  " disable uploading other files.",
94
+ " --recurse-submodules Whether to enumerate files inside of",
95
+ " submodules for path-fixing purposes. Off by",
96
+ " default.",
94
97
  " --disable-search Disable search for coverage files. This is",
95
98
  " helpful when specifying what files you want to",
96
99
  " upload with the --file option.",
@@ -91,6 +91,9 @@ def test_upload_process_options(mocker):
91
91
  " wish to only upload the specified files,",
92
92
  " please consider using --disable-search to",
93
93
  " disable uploading other files.",
94
+ " --recurse-submodules Whether to enumerate files inside of",
95
+ " submodules for path-fixing purposes. Off by",
96
+ " default.",
94
97
  " --disable-search Disable search for coverage files. This is",
95
98
  " helpful when specifying what files you want to",
96
99
  " upload with the --file option.",
@@ -15,6 +15,7 @@ def test_find_files(mocker, tmp_path):
15
15
  assert (
16
16
  NetworkFinder(
17
17
  versioning_system=mocked_vs,
18
+ recurse_submodules=False,
18
19
  network_filter=None,
19
20
  network_prefix=None,
20
21
  network_root_folder=tmp_path,
@@ -24,6 +25,7 @@ def test_find_files(mocker, tmp_path):
24
25
  assert (
25
26
  NetworkFinder(
26
27
  versioning_system=mocked_vs,
28
+ recurse_submodules=False,
27
29
  network_filter="hello",
28
30
  network_prefix="bello",
29
31
  network_root_folder=tmp_path,
@@ -33,13 +35,14 @@ def test_find_files(mocker, tmp_path):
33
35
  assert (
34
36
  NetworkFinder(
35
37
  versioning_system=mocked_vs,
38
+ recurse_submodules=False,
36
39
  network_filter="hello",
37
40
  network_prefix="bello",
38
41
  network_root_folder=tmp_path,
39
42
  ).find_files(True)
40
43
  == filenames
41
44
  )
42
- mocked_vs.list_relevant_files.assert_called_with(tmp_path)
45
+ mocked_vs.list_relevant_files.assert_called_with(tmp_path, False)
43
46
 
44
47
 
45
48
  def test_find_files_with_filter(mocker, tmp_path):
@@ -52,6 +55,7 @@ def test_find_files_with_filter(mocker, tmp_path):
52
55
  assert (
53
56
  NetworkFinder(
54
57
  versioning_system=mocked_vs,
58
+ recurse_submodules=False,
55
59
  network_filter="hello",
56
60
  network_prefix=None,
57
61
  network_root_folder=tmp_path,
@@ -61,13 +65,14 @@ def test_find_files_with_filter(mocker, tmp_path):
61
65
  assert (
62
66
  NetworkFinder(
63
67
  versioning_system=mocked_vs,
68
+ recurse_submodules=False,
64
69
  network_filter="hello",
65
70
  network_prefix="bello",
66
71
  network_root_folder=tmp_path,
67
72
  ).find_files(True)
68
73
  == filenames
69
74
  )
70
- mocked_vs.list_relevant_files.assert_called_with(tmp_path)
75
+ mocked_vs.list_relevant_files.assert_called_with(tmp_path, False)
71
76
 
72
77
 
73
78
  def test_find_files_with_prefix(mocker, tmp_path):
@@ -80,6 +85,7 @@ def test_find_files_with_prefix(mocker, tmp_path):
80
85
  assert (
81
86
  NetworkFinder(
82
87
  versioning_system=mocked_vs,
88
+ recurse_submodules=False,
83
89
  network_filter=None,
84
90
  network_prefix="hello",
85
91
  network_root_folder=tmp_path,
@@ -89,13 +95,14 @@ def test_find_files_with_prefix(mocker, tmp_path):
89
95
  assert (
90
96
  NetworkFinder(
91
97
  versioning_system=mocked_vs,
98
+ recurse_submodules=False,
92
99
  network_filter="hello",
93
100
  network_prefix="bello",
94
101
  network_root_folder=tmp_path,
95
102
  ).find_files(True)
96
103
  == filenames
97
104
  )
98
- mocked_vs.list_relevant_files.assert_called_with(tmp_path)
105
+ mocked_vs.list_relevant_files.assert_called_with(tmp_path, False)
99
106
 
100
107
 
101
108
  def test_find_files_with_filter_and_prefix(mocker, tmp_path):
@@ -108,6 +115,7 @@ def test_find_files_with_filter_and_prefix(mocker, tmp_path):
108
115
  assert (
109
116
  NetworkFinder(
110
117
  versioning_system=mocked_vs,
118
+ recurse_submodules=False,
111
119
  network_filter="hello",
112
120
  network_prefix="bello",
113
121
  network_root_folder=tmp_path,
@@ -117,10 +125,11 @@ def test_find_files_with_filter_and_prefix(mocker, tmp_path):
117
125
  assert (
118
126
  NetworkFinder(
119
127
  versioning_system=mocked_vs,
128
+ recurse_submodules=False,
120
129
  network_filter="hello",
121
130
  network_prefix="bello",
122
131
  network_root_folder=tmp_path,
123
132
  ).find_files(True)
124
133
  == filenames
125
134
  )
126
- mocked_vs.list_relevant_files.assert_called_with(tmp_path)
135
+ mocked_vs.list_relevant_files.assert_called_with(tmp_path, False)
@@ -130,3 +130,14 @@ class TestGitVersioningSystem(object):
130
130
  vs = GitVersioningSystem()
131
131
  with pytest.raises(ValueError):
132
132
  vs.list_relevant_files()
133
+
134
+ def test_list_relevant_files_recurse_submodules(self, mocker, tmp_path):
135
+ subproc_run = mocker.patch(
136
+ "codecov_cli.helpers.versioning_systems.subprocess.run"
137
+ )
138
+ vs = GitVersioningSystem()
139
+ _ = vs.list_relevant_files(tmp_path, recurse_submodules=True)
140
+ subproc_run.assert_called_with(
141
+ ["git", "-C", str(tmp_path), "ls-files", "--recurse-submodules"],
142
+ capture_output=True,
143
+ )
@@ -167,7 +167,7 @@ def test_generate_upload_data(tmp_path):
167
167
 
168
168
  file_finder = FileFinder(tmp_path)
169
169
 
170
- network_finder = NetworkFinder(GitVersioningSystem(), None, None, None)
170
+ network_finder = NetworkFinder(GitVersioningSystem(), False, None, None, None)
171
171
 
172
172
  collector = UploadCollector([], network_finder, file_finder, None)
173
173
 
@@ -187,7 +187,7 @@ def test_generate_upload_data_with_none_network(
187
187
  (tmp_path / "coverage.xml").touch()
188
188
 
189
189
  file_finder = FileFinder(tmp_path)
190
- network_finder = NetworkFinder(NoVersioningSystem(), None, None, None)
190
+ network_finder = NetworkFinder(NoVersioningSystem(), False, None, None, None)
191
191
 
192
192
  collector = UploadCollector([], network_finder, file_finder, {})
193
193
 
@@ -104,6 +104,7 @@ def test_do_upload_logic_happy_path_legacy_uploader(mocker):
104
104
  )
105
105
  mock_select_network_finder.assert_called_with(
106
106
  versioning_system,
107
+ recurse_submodules=False,
107
108
  network_filter=None,
108
109
  network_prefix=None,
109
110
  network_root_folder=None,
@@ -218,6 +219,7 @@ def test_do_upload_logic_happy_path(mocker):
218
219
  )
219
220
  mock_select_network_finder.assert_called_with(
220
221
  versioning_system,
222
+ recurse_submodules=False,
221
223
  network_filter=None,
222
224
  network_prefix=None,
223
225
  network_root_folder=None,
@@ -309,6 +311,7 @@ def test_do_upload_logic_dry_run(mocker):
309
311
  )
310
312
  mock_select_network_finder.assert_called_with(
311
313
  versioning_system,
314
+ recurse_submodules=False,
312
315
  network_filter=None,
313
316
  network_prefix=None,
314
317
  network_root_folder=None,
@@ -501,6 +504,7 @@ def test_do_upload_no_cov_reports_found(mocker):
501
504
  )
502
505
  mock_select_network_finder.assert_called_with(
503
506
  versioning_system,
507
+ recurse_submodules=False,
504
508
  network_filter=None,
505
509
  network_prefix=None,
506
510
  network_root_folder=None,
@@ -597,6 +601,7 @@ def test_do_upload_rase_no_cov_reports_found_error(mocker):
597
601
  )
598
602
  mock_select_network_finder.assert_called_with(
599
603
  versioning_system,
604
+ recurse_submodules=False,
600
605
  network_filter=None,
601
606
  network_prefix=None,
602
607
  network_root_folder=None,
@@ -678,6 +683,7 @@ def test_do_upload_logic_happy_path_test_results(mocker):
678
683
  )
679
684
  mock_select_network_finder.assert_called_with(
680
685
  versioning_system,
686
+ recurse_submodules=False,
681
687
  network_filter="some_dir",
682
688
  network_prefix="hello/",
683
689
  network_root_folder="root/",
File without changes
File without changes