codecov-cli 10.1.1__tar.gz → 10.2.1__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 (207) hide show
  1. {codecov_cli-10.1.1/codecov_cli.egg-info → codecov_cli-10.2.1}/PKG-INFO +3 -2
  2. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/README.md +1 -0
  3. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/commands/commit.py +1 -1
  4. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/commands/empty_upload.py +39 -1
  5. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/commands/report.py +1 -1
  6. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/commands/upload.py +9 -1
  7. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/commands/upload_coverage.py +3 -0
  8. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/commands/upload_process.py +2 -0
  9. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/versioning_systems.py +11 -6
  10. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/upload/__init__.py +2 -0
  11. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/upload/network_finder.py +7 -1
  12. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/upload_coverage/__init__.py +2 -0
  13. {codecov_cli-10.1.1 → codecov_cli-10.2.1/codecov_cli.egg-info}/PKG-INFO +3 -2
  14. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli.egg-info/SOURCES.txt +1 -0
  15. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli.egg-info/requires.txt +1 -1
  16. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/pyproject.toml +2 -2
  17. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/requirements.txt +1 -1
  18. codecov_cli-10.2.1/tests/commands/test_invoke_empty_upload.py +25 -0
  19. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/commands/test_invoke_upload_coverage.py +5 -2
  20. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/commands/test_invoke_upload_process.py +5 -2
  21. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/helpers/test_network_finder.py +13 -4
  22. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/helpers/test_versioning_systems.py +11 -0
  23. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/services/upload/test_upload_collector.py +2 -2
  24. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/services/upload/test_upload_service.py +6 -0
  25. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/LICENSE +0 -0
  26. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/MANIFEST.in +0 -0
  27. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/__init__.py +0 -0
  28. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/commands/__init__.py +0 -0
  29. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/commands/base_picking.py +0 -0
  30. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/commands/create_report_result.py +0 -0
  31. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/commands/get_report_results.py +0 -0
  32. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/commands/labelanalysis.py +0 -0
  33. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/commands/process_test_results.py +0 -0
  34. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/commands/send_notifications.py +0 -0
  35. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/commands/staticanalysis.py +0 -0
  36. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/fallbacks.py +0 -0
  37. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/__init__.py +0 -0
  38. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/args.py +0 -0
  39. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/ci_adapters/__init__.py +0 -0
  40. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/ci_adapters/appveyor_ci.py +0 -0
  41. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/ci_adapters/azure_pipelines.py +0 -0
  42. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/ci_adapters/base.py +0 -0
  43. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/ci_adapters/bitbucket_ci.py +0 -0
  44. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/ci_adapters/bitrise_ci.py +0 -0
  45. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/ci_adapters/buildkite.py +0 -0
  46. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/ci_adapters/circleci.py +0 -0
  47. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/ci_adapters/cirrus_ci.py +0 -0
  48. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/ci_adapters/cloudbuild.py +0 -0
  49. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/ci_adapters/codebuild.py +0 -0
  50. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/ci_adapters/droneci.py +0 -0
  51. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/ci_adapters/github_actions.py +0 -0
  52. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/ci_adapters/gitlab_ci.py +0 -0
  53. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/ci_adapters/heroku.py +0 -0
  54. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/ci_adapters/jenkins.py +0 -0
  55. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/ci_adapters/local.py +0 -0
  56. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/ci_adapters/teamcity.py +0 -0
  57. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/ci_adapters/travis_ci.py +0 -0
  58. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/ci_adapters/woodpeckerci.py +0 -0
  59. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/config.py +0 -0
  60. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/encoder.py +0 -0
  61. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/folder_searcher.py +0 -0
  62. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/git.py +0 -0
  63. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/git_services/__init__.py +0 -0
  64. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/git_services/github.py +0 -0
  65. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/glob.py +0 -0
  66. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/logging_utils.py +0 -0
  67. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/options.py +0 -0
  68. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/request.py +0 -0
  69. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/upload_type.py +0 -0
  70. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/helpers/validators.py +0 -0
  71. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/main.py +0 -0
  72. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/opentelemetry.py +0 -0
  73. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/plugins/__init__.py +0 -0
  74. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/plugins/compress_pycoverage_contexts.py +0 -0
  75. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/plugins/gcov.py +0 -0
  76. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/plugins/pycoverage.py +0 -0
  77. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/plugins/types.py +0 -0
  78. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/plugins/xcode.py +0 -0
  79. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/runners/__init__.py +0 -0
  80. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/runners/dan_runner.py +0 -0
  81. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/runners/pytest_standard_runner.py +0 -0
  82. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/runners/types.py +0 -0
  83. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/__init__.py +0 -0
  84. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/commit/__init__.py +0 -0
  85. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/commit/base_picking.py +0 -0
  86. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/empty_upload/__init__.py +0 -0
  87. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/report/__init__.py +0 -0
  88. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/staticanalysis/__init__.py +0 -0
  89. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/staticanalysis/analyzers/__init__.py +0 -0
  90. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/staticanalysis/analyzers/general.py +0 -0
  91. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/staticanalysis/analyzers/javascript_es6/__init__.py +0 -0
  92. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/staticanalysis/analyzers/javascript_es6/node_wrappers.py +0 -0
  93. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/staticanalysis/analyzers/python/__init__.py +0 -0
  94. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/staticanalysis/analyzers/python/node_wrappers.py +0 -0
  95. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/staticanalysis/exceptions.py +0 -0
  96. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/staticanalysis/finders.py +0 -0
  97. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/staticanalysis/types.py +0 -0
  98. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/upload/file_finder.py +0 -0
  99. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/upload/legacy_upload_sender.py +0 -0
  100. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/upload/upload_collector.py +0 -0
  101. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/upload/upload_sender.py +0 -0
  102. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/services/upload_completion/__init__.py +0 -0
  103. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli/types.py +0 -0
  104. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli.egg-info/dependency_links.txt +0 -0
  105. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli.egg-info/entry_points.txt +0 -0
  106. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/codecov_cli.egg-info/top_level.txt +0 -0
  107. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/languages/languages.c +0 -0
  108. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/languages/treesitterjavascript/src/parser.c +0 -0
  109. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/languages/treesitterjavascript/src/scanner.c +0 -0
  110. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/languages/treesitterjavascript/src/tree_sitter/parser.h +0 -0
  111. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/languages/treesitterpython/src/parser.c +0 -0
  112. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/languages/treesitterpython/src/scanner.cc +0 -0
  113. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/languages/treesitterpython/src/tree_sitter/parser.h +0 -0
  114. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/example_cli_config.yml +0 -0
  115. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/example_module.js +0 -0
  116. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/fake_project/.codecov.yaml +0 -0
  117. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/fake_project/.codecov.yml +0 -0
  118. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/fake_project/.github/.codecov.yaml +0 -0
  119. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/fake_project/.github/.codecov.yml +0 -0
  120. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/fake_project/.github/codecov.yaml +0 -0
  121. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/fake_project/.github/codecov.yml +0 -0
  122. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/fake_project/codecov.yaml +0 -0
  123. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/fake_project/codecov.yml +0 -0
  124. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/fake_project/dev/.codecov.yaml +0 -0
  125. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/fake_project/dev/.codecov.yml +0 -0
  126. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/fake_project/dev/codecov.yaml +0 -0
  127. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/fake_project/dev/codecov.yml +0 -0
  128. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/inputs/sample_001.py +0 -0
  129. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/inputs/sample_002.py +0 -0
  130. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/inputs/sample_003.js +0 -0
  131. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/inputs/sample_004.js +0 -0
  132. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/inputs/sample_005.py +0 -0
  133. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/junit.xml +0 -0
  134. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/outputs/sample_001.json +0 -0
  135. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/outputs/sample_002.json +0 -0
  136. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/outputs/sample_003.json +0 -0
  137. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/outputs/sample_004.json +0 -0
  138. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/samples/outputs/sample_005.json +0 -0
  139. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/setup.cfg +0 -0
  140. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/setup.py +0 -0
  141. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/__init__.py +0 -0
  142. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/ci_adapters/test_appveyor.py +0 -0
  143. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/ci_adapters/test_azure_pipelines.py +0 -0
  144. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/ci_adapters/test_bitbucket_ci.py +0 -0
  145. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/ci_adapters/test_bitrise.py +0 -0
  146. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/ci_adapters/test_buildkite.py +0 -0
  147. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/ci_adapters/test_circleci.py +0 -0
  148. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/ci_adapters/test_cirrusci.py +0 -0
  149. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/ci_adapters/test_cloudbuild.py +0 -0
  150. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/ci_adapters/test_codebuild.py +0 -0
  151. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/ci_adapters/test_droneci.py +0 -0
  152. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/ci_adapters/test_ghactions.py +0 -0
  153. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/ci_adapters/test_gitlabci.py +0 -0
  154. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/ci_adapters/test_herokuci.py +0 -0
  155. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/ci_adapters/test_jenkins.py +0 -0
  156. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/ci_adapters/test_local.py +0 -0
  157. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/ci_adapters/test_teamcity.py +0 -0
  158. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/ci_adapters/test_travis_ci.py +0 -0
  159. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/ci_adapters/test_woodpeckerci.py +0 -0
  160. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/commands/__init__.py +0 -0
  161. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/commands/test_invoke_labelanalysis.py +0 -0
  162. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/commands/test_invoke_upload.py +0 -0
  163. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/commands/test_process_test_results.py +0 -0
  164. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/commands/test_upload_token_discovery.py +0 -0
  165. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/conftest.py +0 -0
  166. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/data/files_to_fix_examples/bad_encoding.go +0 -0
  167. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/data/files_to_fix_examples/sample.cpp +0 -0
  168. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/data/files_to_fix_examples/sample.go +0 -0
  169. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/data/files_to_fix_examples/sample.kt +0 -0
  170. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/data/files_to_fix_examples/sample.php +0 -0
  171. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/data/reports_examples.py +0 -0
  172. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/factory.py +0 -0
  173. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/helpers/git_services/test_github.py +0 -0
  174. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/helpers/test_args.py +0 -0
  175. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/helpers/test_ci_adapter_selection.py +0 -0
  176. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/helpers/test_config.py +0 -0
  177. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/helpers/test_encoder.py +0 -0
  178. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/helpers/test_folder_searcher.py +0 -0
  179. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/helpers/test_git.py +0 -0
  180. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/helpers/test_legacy_upload_sender.py +0 -0
  181. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/helpers/test_request.py +0 -0
  182. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/helpers/test_upload_sender.py +0 -0
  183. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/helpers/test_validators.py +0 -0
  184. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/plugins/test_compress_pycoverage_contexts.py +0 -0
  185. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/plugins/test_gcov.py +0 -0
  186. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/plugins/test_instantiation.py +0 -0
  187. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/plugins/test_pycoverage.py +0 -0
  188. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/plugins/test_xcode.py +0 -0
  189. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/requirements.in +0 -0
  190. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/requirements.txt +0 -0
  191. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/runners/test_dan_runner.py +0 -0
  192. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/runners/test_pytest_standard_runner.py +0 -0
  193. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/runners/test_runners.py +0 -0
  194. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/runners/test_types.py +0 -0
  195. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/services/commit/test_base_picking.py +0 -0
  196. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/services/commit/test_commit_service.py +0 -0
  197. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/services/empty_upload/test_empty_upload.py +0 -0
  198. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/services/report/test_report_results.py +0 -0
  199. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/services/report/test_report_service.py +0 -0
  200. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/services/static_analysis/languages/python/test_node_wrappers_malformed_code.py +0 -0
  201. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/services/static_analysis/test_analyse_file.py +0 -0
  202. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/services/static_analysis/test_static_analysis_service.py +0 -0
  203. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/services/upload/test_coverage_file_finder.py +0 -0
  204. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/services/upload_completion/test_upload_completion.py +0 -0
  205. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/test_codecov_cli.py +0 -0
  206. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/tests/test_helpers.py +0 -0
  207. {codecov_cli-10.1.1 → codecov_cli-10.2.1}/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.1
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>
@@ -216,7 +216,7 @@ Requires-Dist: pyyaml==6.*
216
216
  Requires-Dist: regex
217
217
  Requires-Dist: responses==0.21.*
218
218
  Requires-Dist: sentry-sdk>=2.20.0
219
- Requires-Dist: test-results-parser==0.5.*
219
+ Requires-Dist: test-results-parser==0.5.4
220
220
  Requires-Dist: tree-sitter==0.20.*
221
221
  Requires-Dist: wrapt>=1.17.2
222
222
 
@@ -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
@@ -24,7 +24,7 @@ logger = logging.getLogger("codecovcli")
24
24
  "--pr",
25
25
  "--pull-request-number",
26
26
  "pull_request_number",
27
- help="Specify the pull request number mannually. Used to override pre-existing CI environment variables",
27
+ help="Specify the pull request number manually. Used to override pre-existing CI environment variables",
28
28
  cls=CodecovOption,
29
29
  fallback_field=FallbackFieldEnum.pull_request_number,
30
30
  )
@@ -6,8 +6,8 @@ import sentry_sdk
6
6
 
7
7
  from codecov_cli.fallbacks import CodecovOption, FallbackFieldEnum
8
8
  from codecov_cli.helpers.args import get_cli_args
9
- from codecov_cli.helpers.git import GitService
10
9
  from codecov_cli.helpers.options import global_options
10
+ from codecov_cli.services.commit import create_commit_logic
11
11
  from codecov_cli.services.empty_upload import empty_upload_logic
12
12
  from codecov_cli.types import CommandContext
13
13
 
@@ -16,6 +16,26 @@ logger = logging.getLogger("codecovcli")
16
16
 
17
17
  @click.command()
18
18
  @click.option("--force", is_flag=True, default=False)
19
+ @click.option(
20
+ "--parent-sha",
21
+ help="SHA (with 40 chars) of what should be the parent of this commit",
22
+ )
23
+ @click.option(
24
+ "-P",
25
+ "--pr",
26
+ "--pull-request-number",
27
+ "pull_request_number",
28
+ help="Specify the pull request number manually. Used to override pre-existing CI environment variables",
29
+ cls=CodecovOption,
30
+ fallback_field=FallbackFieldEnum.pull_request_number,
31
+ )
32
+ @click.option(
33
+ "-B",
34
+ "--branch",
35
+ help="Branch to which this commit belongs to",
36
+ cls=CodecovOption,
37
+ fallback_field=FallbackFieldEnum.branch,
38
+ )
19
39
  @global_options
20
40
  @click.pass_context
21
41
  def empty_upload(
@@ -26,11 +46,29 @@ def empty_upload(
26
46
  token: typing.Optional[str],
27
47
  git_service: typing.Optional[str],
28
48
  fail_on_error: typing.Optional[bool],
49
+ parent_sha: typing.Optional[str],
50
+ pull_request_number: typing.Optional[int],
51
+ branch: typing.Optional[str],
29
52
  ):
30
53
  with sentry_sdk.start_transaction(op="task", name="Empty Upload"):
31
54
  with sentry_sdk.start_span(name="empty_upload"):
32
55
  enterprise_url = ctx.obj.get("enterprise_url")
33
56
  args = get_cli_args(ctx)
57
+
58
+ logger.debug("Attempting to Create Commit before doing an empty upload.")
59
+ create_commit_logic(
60
+ commit_sha,
61
+ parent_sha,
62
+ pull_request_number,
63
+ branch,
64
+ slug,
65
+ token,
66
+ git_service,
67
+ enterprise_url,
68
+ fail_on_error,
69
+ args,
70
+ )
71
+
34
72
  logger.debug(
35
73
  "Starting empty upload process",
36
74
  extra=dict(
@@ -21,7 +21,7 @@ logger = logging.getLogger("codecovcli")
21
21
  "--pr",
22
22
  "--pull-request-number",
23
23
  "pull_request_number",
24
- help="Specify the pull request number mannually. Used to override pre-existing CI environment variables",
24
+ help="Specify the pull request number manually. Used to override pre-existing CI environment variables",
25
25
  cls=CodecovOption,
26
26
  fallback_field=FallbackFieldEnum.pull_request_number,
27
27
  )
@@ -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.",
@@ -118,7 +124,7 @@ _global_upload_options = [
118
124
  "--pr",
119
125
  "--pull-request-number",
120
126
  "pull_request_number",
121
- help="Specify the pull request number mannually. Used to override pre-existing CI environment variables",
127
+ help="Specify the pull request number manually. Used to override pre-existing CI environment variables",
122
128
  cls=CodecovOption,
123
129
  fallback_field=FallbackFieldEnum.pull_request_number,
124
130
  ),
@@ -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.1
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>
@@ -216,7 +216,7 @@ Requires-Dist: pyyaml==6.*
216
216
  Requires-Dist: regex
217
217
  Requires-Dist: responses==0.21.*
218
218
  Requires-Dist: sentry-sdk>=2.20.0
219
- Requires-Dist: test-results-parser==0.5.*
219
+ Requires-Dist: test-results-parser==0.5.4
220
220
  Requires-Dist: tree-sitter==0.20.*
221
221
  Requires-Dist: wrapt>=1.17.2
222
222
 
@@ -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
@@ -156,6 +156,7 @@ tests/ci_adapters/test_teamcity.py
156
156
  tests/ci_adapters/test_travis_ci.py
157
157
  tests/ci_adapters/test_woodpeckerci.py
158
158
  tests/commands/__init__.py
159
+ tests/commands/test_invoke_empty_upload.py
159
160
  tests/commands/test_invoke_labelanalysis.py
160
161
  tests/commands/test_invoke_upload.py
161
162
  tests/commands/test_invoke_upload_coverage.py
@@ -5,6 +5,6 @@ pyyaml==6.*
5
5
  regex
6
6
  responses==0.21.*
7
7
  sentry-sdk>=2.20.0
8
- test-results-parser==0.5.*
8
+ test-results-parser==0.5.4
9
9
  tree-sitter==0.20.*
10
10
  wrapt>=1.17.2
@@ -18,7 +18,7 @@ dependencies = [
18
18
  "regex",
19
19
  "responses==0.21.*",
20
20
  "sentry-sdk>=2.20.0",
21
- "test-results-parser==0.5.*",
21
+ "test-results-parser==0.5.4",
22
22
  "tree-sitter==0.20.*",
23
23
  "wrapt>=1.17.2",
24
24
  ]
@@ -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.1"
30
30
 
31
31
  [project.scripts]
32
32
  codecov = "codecov_cli.main:run"
@@ -47,7 +47,7 @@ sniffio==1.3.1
47
47
  # via
48
48
  # anyio
49
49
  # httpx
50
- test-results-parser==0.5.1
50
+ test-results-parser==0.5.4
51
51
  # via codecov-cli (pyproject.toml)
52
52
  tree-sitter==0.20.4
53
53
  # via codecov-cli (pyproject.toml)
@@ -0,0 +1,25 @@
1
+ from click.testing import CliRunner
2
+
3
+ from codecov_cli.fallbacks import FallbackFieldEnum
4
+ from codecov_cli.main import cli
5
+ from tests.factory import FakeProvider, FakeVersioningSystem
6
+
7
+ def test_invoke_empty_upload_with_create_commit(mocker):
8
+ create_commit_mock = mocker.patch("codecov_cli.commands.empty_upload.create_commit_logic")
9
+ empty_upload_mock = mocker.patch("codecov_cli.commands.empty_upload.empty_upload_logic")
10
+
11
+ fake_ci_provider = FakeProvider({FallbackFieldEnum.commit_sha: None})
12
+ mocker.patch("codecov_cli.main.get_ci_adapter", return_value=fake_ci_provider)
13
+
14
+ runner = CliRunner()
15
+ result = runner.invoke(cli, ["empty-upload",
16
+ "-C", "command-sha",
17
+ "--slug", "owner/repo",
18
+ "--parent-sha", "asdf",
19
+ "--branch", "main",
20
+ "--pr", 1234], obj={})
21
+ assert result.exit_code == 0
22
+
23
+ create_commit_mock.assert_called_once()
24
+ empty_upload_mock.assert_called_once()
25
+
@@ -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.",
@@ -103,8 +106,8 @@ def test_upload_coverage_options(mocker):
103
106
  " Codecov UI",
104
107
  " -B, --branch TEXT Branch to which this commit belongs to",
105
108
  " -P, --pr, --pull-request-number TEXT",
106
- " Specify the pull request number mannually.",
107
- " Used to override pre-existing CI environment",
109
+ " Specify the pull request number manually. Used",
110
+ " to override pre-existing CI environment",
108
111
  " variables",
109
112
  " -e, --env, --env-var TEXT Specify environment variables to be included",
110
113
  " with this build.",
@@ -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.",
@@ -103,8 +106,8 @@ def test_upload_process_options(mocker):
103
106
  " Codecov UI",
104
107
  " -B, --branch TEXT Branch to which this commit belongs to",
105
108
  " -P, --pr, --pull-request-number TEXT",
106
- " Specify the pull request number mannually.",
107
- " Used to override pre-existing CI environment",
109
+ " Specify the pull request number manually. Used",
110
+ " to override pre-existing CI environment",
108
111
  " variables",
109
112
  " -e, --env, --env-var TEXT Specify environment variables to be included",
110
113
  " with this build.",
@@ -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