smart-tests-cli 2.16.3__tar.gz → 2.16.5__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 (705) hide show
  1. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/.github/workflows/test.yml +10 -0
  2. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/PKG-INFO +1 -1
  3. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/scripts/update_docs.sh +4 -0
  4. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/record/__init__.py +2 -0
  5. smart_tests_cli-2.16.5/smart_tests/commands/record/case_event.py +249 -0
  6. smart_tests_cli-2.16.5/smart_tests/commands/record/coverage.py +135 -0
  7. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/record/tests.py +67 -23
  8. smart_tests_cli-2.16.5/smart_tests/docs/modules/ROOT/assets/images/registered-oidc-subject.png +0 -0
  9. smart_tests_cli-2.16.5/smart_tests/docs/modules/ROOT/assets/images/trusted-issuer.png +0 -0
  10. smart_tests_cli-2.16.5/smart_tests/docs/modules/ROOT/assets/images/trusted-oidc-subjects.png +0 -0
  11. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/nav.adoc +4 -2
  12. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/administration/pages/data-privacy-and-protection.adoc +36 -18
  13. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/concepts/pages/build.adoc +1 -1
  14. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/concepts/pages/subset.adoc +43 -0
  15. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/concepts/pages/test-session.adoc +1 -1
  16. smart_tests_cli-2.16.5/smart_tests/docs/modules/features/pages/test-notifications/github-app-for-test-sessions.adoc +40 -0
  17. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/references/pages/cli-reference.adoc +1 -1
  18. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/references/pages/cli-version.txt +1 -1
  19. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/references/pages/faq.adoc +11 -0
  20. smart_tests_cli-2.16.3/smart_tests/docs/modules/send-data-to-smart-tests/pages/subset/subset-with-the-smart-tests-cli.adoc → smart_tests_cli-2.16.5/smart_tests/docs/modules/references/pages/integrations.adoc +793 -191
  21. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/references/pages/supported-languages.adoc +1 -1
  22. smart_tests_cli-2.16.5/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-test-results/record-test-results.adoc +73 -0
  23. smart_tests_cli-2.16.5/smart_tests/docs/modules/send-data-to-smart-tests/pages/set-up-smart-tests/migration-from-cli-v1-to-v2.adoc +404 -0
  24. smart_tests_cli-2.16.5/smart_tests/docs/modules/send-data-to-smart-tests/pages/set-up-smart-tests/migration-to-github-oidc-auth.adoc +224 -0
  25. smart_tests_cli-2.16.5/smart_tests/docs/modules/send-data-to-smart-tests/pages/set-up-smart-tests/oidc-authentication.adoc +34 -0
  26. smart_tests_cli-2.16.5/smart_tests/docs/modules/send-data-to-smart-tests/pages/set-up-smart-tests/oidc-pipeline-authentication.adoc +346 -0
  27. smart_tests_cli-2.16.5/smart_tests/docs/modules/send-data-to-smart-tests/pages/set-up-smart-tests/use-the-cli-with-docker-image.adoc +5 -0
  28. smart_tests_cli-2.16.5/smart_tests/docs/modules/send-data-to-smart-tests/pages/subset/subset-with-the-smart-tests-cli.adoc +117 -0
  29. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests_cli.egg-info/PKG-INFO +1 -1
  30. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests_cli.egg-info/SOURCES.txt +17 -1
  31. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests_cli.egg-info/scm_file_list.json +17 -1
  32. smart_tests_cli-2.16.5/smart_tests_cli.egg-info/scm_version.json +8 -0
  33. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/cli_test_case.py +6 -3
  34. smart_tests_cli-2.16.5/tests/commands/record/test_case_event.py +23 -0
  35. smart_tests_cli-2.16.5/tests/commands/record/test_coverage.py +146 -0
  36. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/record/test_tests.py +45 -1
  37. smart_tests_cli-2.16.5/tests/data/maven/record_test_flaky_error_result.json +45 -0
  38. smart_tests_cli-2.16.5/tests/data/maven/record_test_flaky_result.json +99 -0
  39. smart_tests_cli-2.16.5/tests/data/maven/record_test_rerun_error_result.json +99 -0
  40. smart_tests_cli-2.16.5/tests/data/maven/record_test_rerun_fail_result.json +99 -0
  41. smart_tests_cli-2.16.5/tests/data/maven/reports-flaky/TEST-flaky.xml +57 -0
  42. smart_tests_cli-2.16.5/tests/data/maven/reports-flaky-error/TEST-flaky-error.xml +13 -0
  43. smart_tests_cli-2.16.5/tests/data/maven/reports-rerun-error/TEST-rerun-error.xml +43 -0
  44. smart_tests_cli-2.16.5/tests/data/maven/reports-rerun-fail/TEST-rerun-fail.xml +53 -0
  45. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/minitest/record_test_result_chunk1.json +5 -5
  46. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/minitest/record_test_result_chunk2.json +3 -3
  47. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_maven.py +36 -0
  48. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_raw.py +8 -7
  49. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tools/generate_reference.py +2 -2
  50. smart_tests_cli-2.16.3/smart_tests/commands/record/case_event.py +0 -190
  51. smart_tests_cli-2.16.3/smart_tests/docs/modules/features/pages/test-notifications/github-app-for-test-sessions.adoc +0 -22
  52. smart_tests_cli-2.16.3/smart_tests/docs/modules/references/pages/integrations.adoc +0 -228
  53. smart_tests_cli-2.16.3/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-test-results/record-test-results.adoc +0 -615
  54. smart_tests_cli-2.16.3/smart_tests/docs/modules/send-data-to-smart-tests/pages/set-up-smart-tests/migration-to-github-oidc-auth.adoc +0 -153
  55. smart_tests_cli-2.16.3/smart_tests/docs/modules/send-data-to-smart-tests/pages/set-up-smart-tests/use-the-cli-with-docker-image.adoc +0 -5
  56. smart_tests_cli-2.16.3/smart_tests_cli.egg-info/scm_version.json +0 -8
  57. smart_tests_cli-2.16.3/tests/commands/record/test_case_event.py +0 -37
  58. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/.bazelrc +0 -0
  59. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/.bazelversion +0 -0
  60. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/.claude/skills/merge-v1-to-main/SKILL.md +0 -0
  61. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/.dockerignore +0 -0
  62. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/.editorconfig +0 -0
  63. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/.github/release.yml +0 -0
  64. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/.github/workflows/bazel-test.yml +0 -0
  65. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/.github/workflows/e2e.yml +0 -0
  66. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/.github/workflows/pre-commit.yml +0 -0
  67. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/.github/workflows/publish.yml +0 -0
  68. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/.github/workflows/update_maven_install_json.yml +0 -0
  69. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/.gitignore +0 -0
  70. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/.pre-commit-config.yaml +0 -0
  71. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/.python-version +0 -0
  72. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/.tagpr +0 -0
  73. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/CLAUDE.md +0 -0
  74. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/CONTRIBUTING.md +0 -0
  75. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/Dockerfile +0 -0
  76. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/LICENSE.txt +0 -0
  77. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/MODULE.bazel +0 -0
  78. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/MODULE.bazel.lock +0 -0
  79. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/README.md +0 -0
  80. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/WORKSPACE.bzlmod +0 -0
  81. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/build-java.sh +0 -0
  82. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/pyproject.toml +0 -0
  83. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/renovate.json +0 -0
  84. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/scripts/update_schema.sh +0 -0
  85. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/setup.cfg +0 -0
  86. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/setup.py +0 -0
  87. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/__init__.py +0 -0
  88. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/__main__.py +0 -0
  89. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/app.py +0 -0
  90. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/args4p/README.md +0 -0
  91. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/args4p/__init__.py +0 -0
  92. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/args4p/argument.py +0 -0
  93. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/args4p/command.py +0 -0
  94. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/args4p/converters/__init__.py +0 -0
  95. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/args4p/decorators.py +0 -0
  96. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/args4p/exceptions.py +0 -0
  97. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/args4p/option.py +0 -0
  98. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/args4p/parameter.py +0 -0
  99. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/args4p/typer/__init__.py +0 -0
  100. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/__init__.py +0 -0
  101. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/analyze/__init__.py +0 -0
  102. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/analyze/subset.py +0 -0
  103. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/compare/__init__.py +0 -0
  104. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/compare/subsets.py +0 -0
  105. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/detect_flakes.py +0 -0
  106. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/gate.py +0 -0
  107. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/get/__init__.py +0 -0
  108. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/get/api_schema.py +0 -0
  109. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/get/docs.py +0 -0
  110. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/inspect/__init__.py +0 -0
  111. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/inspect/model.py +0 -0
  112. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/inspect/subset.py +0 -0
  113. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/inspect/tests.py +0 -0
  114. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/record/attachment.py +0 -0
  115. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/record/build.py +0 -0
  116. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/record/commit.py +0 -0
  117. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/record/deployment.py +0 -0
  118. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/record/session.py +0 -0
  119. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/stats/__init__.py +0 -0
  120. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/stats/test_sessions.py +0 -0
  121. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/subset.py +0 -0
  122. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/test_path_writer.py +0 -0
  123. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/update/__init__.py +0 -0
  124. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/update/alias.py +0 -0
  125. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/verify.py +0 -0
  126. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/view/__init__.py +0 -0
  127. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/view/flaky_tests.py +0 -0
  128. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/view/longest_tests.py +0 -0
  129. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/view/never_failing_tests.py +0 -0
  130. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/view/subsets.py +0 -0
  131. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/commands/view/test_results.py +0 -0
  132. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/antora.yml +0 -0
  133. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/adb.adoc +0 -0
  134. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/ant.adoc +0 -0
  135. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/bazel.adoc +0 -0
  136. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/behave.adoc +0 -0
  137. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/ci-tool-integrations/github-actions.adoc +0 -0
  138. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/ci-tool-integrations.adoc +0 -0
  139. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/ctest.adoc +0 -0
  140. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/cucumber.adoc +0 -0
  141. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/cypress.adoc +0 -0
  142. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/dotnet-test.adoc +0 -0
  143. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/flutter.adoc +0 -0
  144. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/go-test.adoc +0 -0
  145. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/googletest.adoc +0 -0
  146. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/gradle.adoc +0 -0
  147. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/jest.adoc +0 -0
  148. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/karma.adoc +0 -0
  149. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/maven.adoc +0 -0
  150. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/minitest.adoc +0 -0
  151. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/playwright.adoc +0 -0
  152. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/prove.adoc +0 -0
  153. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/pytest.adoc +0 -0
  154. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/robot.adoc +0 -0
  155. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/rspec.adoc +0 -0
  156. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/supported-languages/c-plus-plus.adoc +0 -0
  157. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/supported-languages/dotnet.adoc +0 -0
  158. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/supported-languages/go.adoc +0 -0
  159. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/supported-languages/java.adoc +0 -0
  160. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/supported-languages/javascript.adoc +0 -0
  161. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/supported-languages/perl.adoc +0 -0
  162. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/supported-languages/python.adoc +0 -0
  163. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/supported-languages/ruby.adoc +0 -0
  164. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/supported-test-frameworks/appium.adoc +0 -0
  165. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/supported-test-frameworks/cucumber.adoc +0 -0
  166. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/supported-test-frameworks/googletest.adoc +0 -0
  167. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/supported-test-frameworks/jest.adoc +0 -0
  168. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/supported-test-frameworks/junit.adoc +0 -0
  169. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/supported-test-frameworks/minitest.adoc +0 -0
  170. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/supported-test-frameworks/nose.adoc +0 -0
  171. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/supported-test-frameworks/nunit.adoc +0 -0
  172. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/supported-test-frameworks/prove.adoc +0 -0
  173. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/supported-test-frameworks/robot.adoc +0 -0
  174. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/supported-test-frameworks/rspec.adoc +0 -0
  175. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/supported-test-frameworks/selenium.adoc +0 -0
  176. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/supported-test-frameworks/testng.adoc +0 -0
  177. {smart_tests_cli-2.16.3/smart_tests/docs/modules/references/pages → smart_tests_cli-2.16.5/smart_tests/docs/modules/ROOT/archive}/supported-test-frameworks.adoc +0 -0
  178. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/vitest.adoc +0 -0
  179. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/archive/xctest.adoc +0 -0
  180. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/0607-inference.png +0 -0
  181. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/0607-subset-creation.png +0 -0
  182. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/0607-training.png +0 -0
  183. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/507088cf-209d-4856-be3e-60477c166d92.png +0 -0
  184. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/confidence-curve.png +0 -0
  185. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/customer-example-curve.png +0 -0
  186. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/data-flow.png +0 -0
  187. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/demo.gif +0 -0
  188. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/eval-sessions-prioritized.png +0 -0
  189. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/eval-sessions.png +0 -0
  190. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/flavors.png +0 -0
  191. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/github-comment.png +0 -0
  192. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/groups-2-record-after.png +0 -0
  193. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/hi-rate-fail-quarantine/auto-quarantine.png +0 -0
  194. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/hi-rate-fail-quarantine/failure-test.png +0 -0
  195. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/hi-rate-fail-quarantine/manual-quarantine.png +0 -0
  196. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/how-long-train-ml-model.png +0 -0
  197. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/icons/icon-vertical-three-dots-dark.png +0 -0
  198. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/illustion-run-whitelisted-tests-1.png +0 -0
  199. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/illustration-ignore-flakes-1.png +0 -0
  200. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/illustration-rotate-optimize-coverage.png +0 -0
  201. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/illustration-run-recently-failed-tests.png +0 -0
  202. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/in-place.png +0 -0
  203. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/link-to-results-example.png +0 -0
  204. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/model-training-evaluation-confidence-curves.png +0 -0
  205. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/new-code-existing-tests.png +0 -0
  206. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/object-model-june.png +0 -0
  207. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/object-model-v2.png +0 -0
  208. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/object-model.png +0 -0
  209. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/optimization-target.png +0 -0
  210. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/predictive-test-selection-observation-mode.png +0 -0
  211. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/prioritized-evaluation-session.png +0 -0
  212. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/pts/pts-observe.png +0 -0
  213. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/pts-v2-working.png +0 -0
  214. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/recording-data.png +0 -0
  215. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/recording-from-multiple-repos-built-separately-detailed.png +0 -0
  216. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/recording-from-multiple-repos-built-separately.png +0 -0
  217. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/recording-from-multiple-repos.png +0 -0
  218. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2023-07-25-at-20-41-20.png +0 -0
  219. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2023-07-25-at-20-44-15.png +0 -0
  220. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2023-07-25-at-20-45-10.png +0 -0
  221. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2023-08-22-at-22-50-49.png +0 -0
  222. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2024-04-29-at-1-48-30-pm.png +0 -0
  223. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2024-04-29-at-2-14-11-pm.png +0 -0
  224. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2024-05-15-at-4-50-56-pm.png +0 -0
  225. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2024-05-15-at-5-06-32-pm.png +0 -0
  226. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2024-05-15-at-5-09-04-pm.png +0 -0
  227. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2024-05-15-at-5-21-37-pm.png +0 -0
  228. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/sending-data/builds-dashboard.png +0 -0
  229. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/sending-data/create-api-key.png +0 -0
  230. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/sending-data/initial-settings.png +0 -0
  231. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/sending-data/organization-profile-id.png +0 -0
  232. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/sending-data/record-session.png +0 -0
  233. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/sending-data/test-session-interface.png +0 -0
  234. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/shift-left.png +0 -0
  235. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/single-session-compared.png +0 -0
  236. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/single-session-result.png +0 -0
  237. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/slack-desktop-with-app-messages.png +0 -0
  238. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/smart-subset-formation-flow.png +0 -0
  239. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/smart-tests-builds-interface-v1png.png +0 -0
  240. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/smart-tests-cli-3.png +0 -0
  241. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/smart-tests-monthly-time-saved.png +0 -0
  242. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/smart-tests_api_key_setting_20210613.png +0 -0
  243. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/smart-tests_invite_url_20220613.png +0 -0
  244. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/smart-tests_settings_20220613.png +0 -0
  245. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/subscription-ux.png +0 -0
  246. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/subset/dynamic-parallel.png +0 -0
  247. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/subset-creation.png +0 -0
  248. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/subset-exclude.png +0 -0
  249. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/subsetting-diagram-2x.png +0 -0
  250. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/target-line.png +0 -0
  251. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/test-insights-example.png +0 -0
  252. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/test-pyramid.png +0 -0
  253. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/test-runs-log.png +0 -0
  254. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/test-session-definition-2.png +0 -0
  255. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/test-session-definition-3.png +0 -0
  256. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/test-session-definition-4.png +0 -0
  257. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/test-session-definition.png +0 -0
  258. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/test-session-details-with-content.png +0 -0
  259. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/test-session-report-example.png +0 -0
  260. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/test-sessions-layout.png +0 -0
  261. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/testing-bottleneck-infinity.png +0 -0
  262. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/training-wheels.png +0 -0
  263. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/trends.png +0 -0
  264. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/triage-email-demo.avif +0 -0
  265. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/use-case-1.png +0 -0
  266. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/use-case-2.png +0 -0
  267. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/assets/images/zis-with-groups.png +0 -0
  268. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/pages/getting-started.adoc +0 -0
  269. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/pages/index.adoc +0 -0
  270. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/partials/abbr.adoc +0 -0
  271. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/ROOT/partials/conditionals.adoc +0 -0
  272. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/administration/pages/data-examples.adoc +0 -0
  273. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/administration/pages/security-policies.adoc +0 -0
  274. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/administration/pages/troubleshooting.adoc +0 -0
  275. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/concepts/pages/branch.adoc +0 -0
  276. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/concepts/pages/insight.adoc +0 -0
  277. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/concepts/pages/object-model.adoc +0 -0
  278. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/concepts/pages/organization.adoc +0 -0
  279. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/concepts/pages/test-suite.adoc +0 -0
  280. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/concepts/pages/workspace.adoc +0 -0
  281. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/features/pages/high-failure-rate-tests-and-quarantine.adoc +0 -0
  282. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/features/pages/intelligent-test-failure-diagnostics.adoc +0 -0
  283. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/features/pages/predictive-test-selection/how-we-select-tests.adoc +0 -0
  284. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/features/pages/predictive-test-selection/use-cases-for-predictive-test-selection.adoc +0 -0
  285. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/features/pages/predictive-test-selection/viewing-time-savings.adoc +0 -0
  286. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/features/pages/predictive-test-selection.adoc +0 -0
  287. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/features/pages/test-notifications/test-notifications-via-slack.adoc +0 -0
  288. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/features/pages/test-notifications.adoc +0 -0
  289. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/features/pages/test-results-and-reports.adoc +0 -0
  290. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/features/pages/test-suite-parallelization.adoc +0 -0
  291. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/features/pages/test-trends-and-insights.adoc +0 -0
  292. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/references/pages/ai-assistance.adoc +0 -0
  293. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/references/pages/integrations/raw.adoc +0 -0
  294. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/references/pages/integrations/use-the-generic-file-based-runner-integration.adoc +0 -0
  295. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/references/pages/onboarding-guide/best-practices-checklist.adoc +0 -0
  296. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/references/pages/onboarding-guide/optional-configurations.adoc +0 -0
  297. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/references/pages/onboarding-guide.adoc +0 -0
  298. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-builds/choose-a-value-for-build-name.adoc +0 -0
  299. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-builds/deal-with-shallow-clones.adoc +0 -0
  300. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-builds/record-builds-for-microservices.adoc +0 -0
  301. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-builds/record-builds-for-multistage-build.adoc +0 -0
  302. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-builds/record-builds-from-multiple-repositories.adoc +0 -0
  303. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-builds/record-builds.adoc +0 -0
  304. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-builds/run-under-restricted-networks.adoc +0 -0
  305. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-sessions/record-sessions.adoc +0 -0
  306. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-test-results/attach-log-files.adoc +0 -0
  307. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-test-results/convert-test-reports-to-junit-format.adoc +0 -0
  308. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-test-results/ensure-record-tests-always-runs.adoc +0 -0
  309. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-test-results/manage-complex-test-session-layouts.adoc +0 -0
  310. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-test-results/separate-out-test-suites.adoc +0 -0
  311. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-test-results/use-flavors-to-run-the-best-tests-for-an-environment.adoc +0 -0
  312. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/send-data-to-smart-tests.adoc +0 -0
  313. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/set-up-smart-tests/getting-started.adoc +0 -0
  314. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/subset/choose-a-subset-optimization-target.adoc +0 -0
  315. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/subset/combine-with-rule-based-test-selection.adoc +0 -0
  316. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/subset/observe-subset-behavior.adoc +0 -0
  317. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/subset/replace-static-parallel-suites-dynamic-parallel-subset.adoc +0 -0
  318. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/subset/request-and-run-a-subset-of-tests.adoc +0 -0
  319. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/subset/smart-subset-optimization-target.adoc +0 -0
  320. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/subset/smart-tests-extension-for-VS-code.adoc +0 -0
  321. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/subset/subset-predictive-test-selection.adoc +0 -0
  322. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/subset/use-groups-to-split-subsets.adoc +0 -0
  323. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/docs/modules/send-data-to-smart-tests/pages/subset/zero-input-subsetting.adoc +0 -0
  324. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/jar/exe_deploy.jar +0 -0
  325. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/plugins/__init__.py +0 -0
  326. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/schema/openapi-schema.json +0 -0
  327. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/__init__.py +0 -0
  328. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/adb.py +0 -0
  329. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/ant.py +0 -0
  330. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/bazel.py +0 -0
  331. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/behave.py +0 -0
  332. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/codeceptjs.py +0 -0
  333. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/ctest.py +0 -0
  334. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/cts.py +0 -0
  335. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/cucumber.py +0 -0
  336. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/cypress.py +0 -0
  337. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/dotnet.py +0 -0
  338. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/file.py +0 -0
  339. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/flutter.py +0 -0
  340. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/go_test.py +0 -0
  341. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/googletest.py +0 -0
  342. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/gradle.py +0 -0
  343. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/jasmine.py +0 -0
  344. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/jest.py +0 -0
  345. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/karma.py +0 -0
  346. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/maven.py +0 -0
  347. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/minitest.py +0 -0
  348. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/nunit.py +0 -0
  349. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/playwright.py +0 -0
  350. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/prove.py +0 -0
  351. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/pytest.py +0 -0
  352. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/raw.py +0 -0
  353. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/robot.py +0 -0
  354. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/rspec.py +0 -0
  355. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/smart_tests.py +0 -0
  356. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/vitest.py +0 -0
  357. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/test_runners/xctest.py +0 -0
  358. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/testpath.py +0 -0
  359. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/__init__.py +0 -0
  360. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/authentication.py +0 -0
  361. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/ci_provider.py +0 -0
  362. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/commands.py +0 -0
  363. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/commit_ingester.py +0 -0
  364. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/common_tz.py +0 -0
  365. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/edit_distance.py +0 -0
  366. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/env_keys.py +0 -0
  367. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/exceptions.py +0 -0
  368. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/fail_fast_mode.py +0 -0
  369. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/file_name_pattern.py +0 -0
  370. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/git_log_parser.py +0 -0
  371. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/glob.py +0 -0
  372. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/gzipgen.py +0 -0
  373. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/http_client.py +0 -0
  374. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/input_snapshot.py +0 -0
  375. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/java.py +0 -0
  376. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/link.py +0 -0
  377. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/logger.py +0 -0
  378. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/no_build.py +0 -0
  379. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/sax.py +0 -0
  380. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/session.py +0 -0
  381. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/smart_tests_client.py +0 -0
  382. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/subprocess.py +0 -0
  383. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/tracking.py +0 -0
  384. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/utils/typer_types.py +0 -0
  385. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests/version.py +0 -0
  386. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests_cli.egg-info/dependency_links.txt +0 -0
  387. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests_cli.egg-info/entry_points.txt +0 -0
  388. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests_cli.egg-info/requires.txt +0 -0
  389. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/smart_tests_cli.egg-info/top_level.txt +0 -0
  390. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/BUILD +0 -0
  391. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/Authenticator.java +0 -0
  392. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/BUILD +0 -0
  393. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/BackgroundWorkStatus.java +0 -0
  394. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/BoundedExecutorService.java +0 -0
  395. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/ChunkStreamer.java +0 -0
  396. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/CommitChunkStreamer.java +0 -0
  397. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/CommitGraphCollector.java +0 -0
  398. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/ConcurrentConsumer.java +0 -0
  399. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/CountingDiffFormatter.java +0 -0
  400. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/FileChunkStreamer.java +0 -0
  401. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/FlushableConsumer.java +0 -0
  402. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/GitFile.java +0 -0
  403. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/GitHubActionsAuthenticator.java +0 -0
  404. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/GitHubIdTokenAuthenticator.java +0 -0
  405. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/IOConsumer.java +0 -0
  406. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/JSAsyncFileCollectionProgress.java +0 -0
  407. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/JSAsyncFileCollectionResponse.java +0 -0
  408. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/JSCommit.java +0 -0
  409. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/JSFileChange.java +0 -0
  410. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/LaunchableHttpClient.java +0 -0
  411. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/Main.java +0 -0
  412. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/ObjectRevFilter.java +0 -0
  413. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/ProgressReporter.java +0 -0
  414. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/SSLBypass.java +0 -0
  415. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/TokenAuthenticator.java +0 -0
  416. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/TreeReceiver.java +0 -0
  417. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/main/java/com/launchableinc/ingest/commits/VirtualFile.java +0 -0
  418. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/maven_install.json +0 -0
  419. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/test/java/com/launchableinc/ingest/commits/AllTests.java +0 -0
  420. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/test/java/com/launchableinc/ingest/commits/BUILD +0 -0
  421. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/test/java/com/launchableinc/ingest/commits/BoundedExecutorServiceTest.java +0 -0
  422. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/test/java/com/launchableinc/ingest/commits/CommitGraphCollectorTest.java +0 -0
  423. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/test/java/com/launchableinc/ingest/commits/ConcurrentConsumerTest.java +0 -0
  424. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/test/java/com/launchableinc/ingest/commits/FileChunkStreamerTest.java +0 -0
  425. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/test/java/com/launchableinc/ingest/commits/GitFileTest.java +0 -0
  426. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/test/java/com/launchableinc/ingest/commits/MainTest.java +0 -0
  427. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/test/java/com/launchableinc/ingest/commits/PassThroughTreeReceiverImpl.java +0 -0
  428. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/test/java/com/launchableinc/ingest/commits/ProgressReporterTest.java +0 -0
  429. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/test/java/com/launchableinc/ingest/commits/SSLBypassTest.java +0 -0
  430. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/src/test/java/com/launchableinc/ingest/commits/java8-compat.sh +0 -0
  431. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/test-runner/__main__.py +0 -0
  432. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/__init__.py +0 -0
  433. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/args4p/__init__.py +0 -0
  434. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/args4p/converters/__init__.py +0 -0
  435. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/args4p/converters/test_converters.py +0 -0
  436. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/args4p/test_badcode.py +0 -0
  437. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/args4p/test_badinput.py +0 -0
  438. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/args4p/test_command.py +0 -0
  439. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/args4p/test_decorators.py +0 -0
  440. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/args4p/test_help.py +0 -0
  441. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/args4p/test_parameter.py +0 -0
  442. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/args4p/test_typer.py +0 -0
  443. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/__init__.py +0 -0
  444. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/compare/__init__.py +0 -0
  445. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/compare/test_subsets.py +0 -0
  446. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/inspect/test_model.py +0 -0
  447. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/inspect/test_subset.py +0 -0
  448. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/inspect/test_tests.py +0 -0
  449. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/record/__init__.py +0 -0
  450. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/record/test_attachment.py +0 -0
  451. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/record/test_build.py +0 -0
  452. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/record/test_commit.py +0 -0
  453. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/record/test_deployment.py +0 -0
  454. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/record/test_session.py +0 -0
  455. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/test_api_error.py +0 -0
  456. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/test_detect_flakes.py +0 -0
  457. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/test_gate.py +0 -0
  458. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/test_subset.py +0 -0
  459. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/test_verify.py +0 -0
  460. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/test_view_flaky_tests.py +0 -0
  461. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/test_view_longest_tests.py +0 -0
  462. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/test_view_never_failing_tests.py +0 -0
  463. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/test_view_subsets.py +0 -0
  464. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/test_view_test_results.py +0 -0
  465. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/update/__init__.py +0 -0
  466. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/commands/update/test_alias.py +0 -0
  467. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/adb/subset_result.json +0 -0
  468. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/ant/junitreport/TEST-com.example.HelloWorldTest.xml +0 -0
  469. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/ant/junitreport/TEST-com.example.library.CacheTest.xml +0 -0
  470. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/ant/junitreport/TESTS-TestSuites.xml +0 -0
  471. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/ant/record_test_result.json +0 -0
  472. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/ant/src/com/example/HelloWorld.java +0 -0
  473. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/ant/src/com/example/HelloWorldTest.java +0 -0
  474. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/ant/src/com/example/library/Cache.java +0 -0
  475. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/ant/src/com/example/library/CacheTest.java +0 -0
  476. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/ant/subset_result.json +0 -0
  477. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test1/test.cache_status +0 -0
  478. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test1/test.log +0 -0
  479. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test1/test.xml +0 -0
  480. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test2/test.cache_status +0 -0
  481. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test2/test.xml +0 -0
  482. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test3/test.cache_status +0 -0
  483. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test3/test.xml +0 -0
  484. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test4/test.cache_status +0 -0
  485. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test4/test.xml +0 -0
  486. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test5/test.cache_status +0 -0
  487. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test5/test.xml +0 -0
  488. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test6/test.cache_status +0 -0
  489. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test6/test.xml +0 -0
  490. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test7/test.cache_status +0 -0
  491. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test7/test.xml +0 -0
  492. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test8/test.cache_status +0 -0
  493. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test8/test.xml +0 -0
  494. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test9/test.cache_status +0 -0
  495. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test9/test.xml +0 -0
  496. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/build_event.json +0 -0
  497. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/build_event_rest.json +0 -0
  498. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/record_test_result.json +0 -0
  499. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/record_test_with_build_event_json_result.json +0 -0
  500. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/record_test_with_multiple_build_event_json_result.json +0 -0
  501. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/bazel/subset_result.json +0 -0
  502. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/behave/record_test_result.json +0 -0
  503. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/behave/reports/report.xml +0 -0
  504. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/behave/subset_result.json +0 -0
  505. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/broken_xml/broken.xml +0 -0
  506. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/broken_xml/normal.xml +0 -0
  507. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/codeceptjs/codeceptjs-result.xml +0 -0
  508. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/codeceptjs/record_test_result.json +0 -0
  509. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/ctest/Testing/latest/Test.xml +0 -0
  510. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/ctest/ctest_list.json +0 -0
  511. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/ctest/record_test_result.json +0 -0
  512. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/ctest/subset_result.json +0 -0
  513. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/cts/record_test_result.json +0 -0
  514. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/cts/subset_result.json +0 -0
  515. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/cts/test_result.xml +0 -0
  516. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/cucumber/features/foo/bar.feature +0 -0
  517. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/cucumber/features/foo/is_it_friday_yet.feature +0 -0
  518. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/cucumber/features/foo-bar.feature +0 -0
  519. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/cucumber/features/is_it_friday_yet.feature +0 -0
  520. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/cucumber/record_test_json_result.json +0 -0
  521. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/cucumber/record_test_result.json +0 -0
  522. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/cucumber/report/TEST-features-foo-bar.xml +0 -0
  523. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/cucumber/report/TEST-features-foo-is_it_friday_yet.xml +0 -0
  524. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/cucumber/report/TEST-features-is_it_friday_yet.xml +0 -0
  525. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/cucumber/report/dummy.xml +0 -0
  526. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/cucumber/report/result.json +0 -0
  527. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/cypress/empty.json +0 -0
  528. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/cypress/empty.xml +0 -0
  529. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/cypress/record_test_result.json +0 -0
  530. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/cypress/subset_result.json +0 -0
  531. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/cypress/test-result.xml +0 -0
  532. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/dotnet/junit-result-with-metadata.xml +0 -0
  533. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/dotnet/junit-result.xml +0 -0
  534. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/dotnet/record_test_result-junit-with-metadata.json +0 -0
  535. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/dotnet/record_test_result-junit.json +0 -0
  536. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/dotnet/record_test_result.json +0 -0
  537. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/dotnet/test-result.xml +0 -0
  538. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/file/record_test_result.json +0 -0
  539. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/file/record_test_result_custom_attribute.json +0 -0
  540. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/file/result.xml +0 -0
  541. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/file/result_custom_attribute.xml +0 -0
  542. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/flutter/record_test_result.json +0 -0
  543. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/flutter/report.json +0 -0
  544. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/git_log_ingest/sample.out +0 -0
  545. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/go_test/record_test_result.json +0 -0
  546. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/go_test/reportv1/reportv1.xml +0 -0
  547. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/go_test/reportv2/reportv2.xml +0 -0
  548. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/go_test/subset_result.json +0 -0
  549. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/googletest/fail/output.xml +0 -0
  550. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/googletest/fail/record_test_result.json +0 -0
  551. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/googletest/output_a.xml +0 -0
  552. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/googletest/output_b.xml +0 -0
  553. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/googletest/record_test_result.json +0 -0
  554. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/googletest/subset_result.json +0 -0
  555. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/gradle/java/app/src/test/java/com/example/sample_app_gradle/App2Test.java +0 -0
  556. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/gradle/java/app/src/test/java/com/example/sample_app_gradle/AppTest.java +0 -0
  557. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/gradle/java/app/src/test/java/com/example/sample_app_gradle/sub/App3Test.java +0 -0
  558. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/gradle/recursion/expected.json +0 -0
  559. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/gradle/recursion/foo/bar/reports/1.xml +0 -0
  560. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/jasmine/README.md +0 -0
  561. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/jasmine/jasmine-test-results-v3.99.0.json +0 -0
  562. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/jasmine/jasmine-test-results.json +0 -0
  563. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/jasmine/record_test_result.json +0 -0
  564. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/jasmine/subset_payload.json +0 -0
  565. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/jest/junit.xml +0 -0
  566. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/jest/record_test_result.json +0 -0
  567. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/jest/subset_result.json +0 -0
  568. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/karma/README.md +0 -0
  569. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/karma/record_test_result.json +0 -0
  570. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/karma/sample-report.json +0 -0
  571. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/karma/subset_payload.json +0 -0
  572. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/karma/subset_result.json +0 -0
  573. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/maven/createdFile_1.lst +0 -0
  574. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/maven/createdFile_2.lst +0 -0
  575. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/maven/dryrun-test/target/surefire-reports/TEST-com.example.demo.CalculatorTest.xml +0 -0
  576. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/maven/dryrun-test/target/surefire-reports/TEST-com.example.demo.UserTest.xml +0 -0
  577. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/maven/java/test/src/java/com/example/sample_app_maven/App2Test.java +0 -0
  578. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/maven/java/test/src/java/com/example/sample_app_maven/AppTest.java +0 -0
  579. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/maven/java/test/src/java/com/launchableinc/rocket_car_maven/e2e/E2ETest.java +0 -0
  580. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/maven/list.lst +0 -0
  581. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/maven/record_test_nested_displayname_result.json +0 -0
  582. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/maven/record_test_result.json +0 -0
  583. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/maven/reports/TEST-1.xml +0 -0
  584. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/maven/reports/TEST-2.xml +0 -0
  585. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/maven/reports/TEST-nested.xml +0 -0
  586. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/maven/reports/dummy.xml +0 -0
  587. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/maven/reports-nested-displayname/TEST-nested-displayname.xml +0 -0
  588. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/maven/subset_by_absolute_time_result.json +0 -0
  589. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/maven/subset_by_confidence_result.json +0 -0
  590. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/maven/subset_from_file_result.json +0 -0
  591. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/maven/subset_result.json +0 -0
  592. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/maven/subset_scan_dryrun_results_result.json +0 -0
  593. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/maven/subset_scan_test_compile_lst_result.json +0 -0
  594. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/maven/subset_with_exclude_rules_result.json +0 -0
  595. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/minitest/TEST-Admin_UserTest.xml +0 -0
  596. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/minitest/TEST-Admin_UserTest_ChildlenTest.xml +0 -0
  597. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/minitest/TEST-UserControllerTest.xml +0 -0
  598. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/minitest/TEST-UserCopyTest.xml +0 -0
  599. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/minitest/TEST-UserTest.xml +0 -0
  600. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/minitest/record_test_result.json +0 -0
  601. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/minitest/subset_result.json +0 -0
  602. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/minitest/test/example_test.rb +0 -0
  603. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/nunit/list.xml +0 -0
  604. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/nunit/nunit-reporter-bug-with-nested-type.json +0 -0
  605. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/nunit/nunit-reporter-bug-with-nested-type.xml +0 -0
  606. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/nunit/output-linux.xml +0 -0
  607. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/nunit/output-windows.xml +0 -0
  608. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/nunit/record_test_result-linux.json +0 -0
  609. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/nunit/record_test_result-windows.json +0 -0
  610. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/nunit/src/.gitignore +0 -0
  611. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/nunit/src/Program.cs +0 -0
  612. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/nunit/src/README.md +0 -0
  613. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/nunit/src/Test.cs +0 -0
  614. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/nunit/src/calc.csproj +0 -0
  615. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/nunit/subset_result.json +0 -0
  616. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/playwright/packages/e2e/.gitkeep +0 -0
  617. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/playwright/playwright.config.ts +0 -0
  618. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/playwright/record_test_result.json +0 -0
  619. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/playwright/record_test_result_with_json.json +0 -0
  620. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/playwright/record_test_result_with_json_base.json +0 -0
  621. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/playwright/record_test_result_with_prefix.json +0 -0
  622. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/playwright/report.json +0 -0
  623. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/playwright/report.xml +0 -0
  624. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/playwright/report_with_json_base.json +0 -0
  625. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/playwright/report_with_prefix.json +0 -0
  626. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/prove/record_test_result.json +0 -0
  627. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/prove/report.xml +0 -0
  628. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/pytest/pytest.ini +0 -0
  629. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/pytest/record_test_result.json +0 -0
  630. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/pytest/record_test_result_json.json +0 -0
  631. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/pytest/report.json +0 -0
  632. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/pytest/report.xml +0 -0
  633. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/pytest/subset_result.json +0 -0
  634. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/pytest/tests/conftest.py +0 -0
  635. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/pytest/tests/fooo/__init__.py +0 -0
  636. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/pytest/tests/fooo/filenameonly_test.py +0 -0
  637. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/pytest/tests/fooo/func4_test.py +0 -0
  638. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/pytest/tests/funcs3_test.py +0 -0
  639. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/pytest/tests/test_funcs1.py +0 -0
  640. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/pytest/tests/test_funcs2.py +0 -0
  641. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/robot/dryrun.xml +0 -0
  642. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/robot/output.xml +0 -0
  643. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/robot/output_legacy.xml +0 -0
  644. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/robot/record_test_executed_only_one_file_result.json +0 -0
  645. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/robot/record_test_legacy_result.json +0 -0
  646. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/robot/record_test_result.json +0 -0
  647. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/robot/single-output.xml +0 -0
  648. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/robot/subset_result.json +0 -0
  649. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/rspec/record_test_result.json +0 -0
  650. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/rspec/rspec.xml +0 -0
  651. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/vitest/record_test_result.json +0 -0
  652. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/vitest/report.xml +0 -0
  653. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/xctest/junit.xml +0 -0
  654. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/xctest/record_test_result.json +0 -0
  655. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/data/xctest/subset_result.json +0 -0
  656. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/helper.py +0 -0
  657. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/plugins/foo.py +0 -0
  658. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_cli_test_case.py +0 -0
  659. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_plugin.py +0 -0
  660. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/__init__.py +0 -0
  661. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_adb.py +0 -0
  662. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_ant.py +0 -0
  663. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_bazel.py +0 -0
  664. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_behave.py +0 -0
  665. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_codeceptjs.py +0 -0
  666. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_ctest.py +0 -0
  667. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_cts.py +0 -0
  668. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_cucumber.py +0 -0
  669. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_cypress.py +0 -0
  670. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_dotnet.py +0 -0
  671. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_file.py +0 -0
  672. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_go_test.py +0 -0
  673. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_googletest.py +0 -0
  674. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_gradle.py +0 -0
  675. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_jasmine.py +0 -0
  676. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_jest.py +0 -0
  677. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_karma.py +0 -0
  678. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_minitest.py +0 -0
  679. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_nunit.py +0 -0
  680. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_playwright.py +0 -0
  681. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_prove.py +0 -0
  682. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_pytest.py +0 -0
  683. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_robot.py +0 -0
  684. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_rspec.py +0 -0
  685. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_vitest.py +0 -0
  686. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_runners/test_xctest.py +0 -0
  687. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_testpath.py +0 -0
  688. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/test_version.py +0 -0
  689. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/utils/__init__.py +0 -0
  690. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/utils/test_authentication.py +0 -0
  691. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/utils/test_edit_distance.py +0 -0
  692. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/utils/test_fail_fast_mode.py +0 -0
  693. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/utils/test_file_name_pattern.py +0 -0
  694. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/utils/test_git_log_parser.py +0 -0
  695. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/utils/test_glob.py +0 -0
  696. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/utils/test_gzipgen.py +0 -0
  697. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/utils/test_http_client.py +0 -0
  698. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/utils/test_link.py +0 -0
  699. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/utils/test_logger.py +0 -0
  700. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/utils/test_session.py +0 -0
  701. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/utils/test_tracking.py +0 -0
  702. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/utils/test_typer.py +0 -0
  703. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tests/utils/test_typer_types.py +0 -0
  704. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/tools/README.md +0 -0
  705. {smart_tests_cli-2.16.3 → smart_tests_cli-2.16.5}/uv.lock +0 -0
@@ -65,6 +65,16 @@ jobs:
65
65
 
66
66
  - name: Lint with flake8
67
67
  run: uv run poe lint
68
+
69
+ - name: Check CLI reference docs are up to date
70
+ run: |
71
+ uv run tools/generate_reference.py smart_tests/docs/modules/references/pages/cli-reference.adoc
72
+ git diff --exit-code smart_tests/docs/modules/references/pages/cli-reference.adoc || {
73
+ echo "::error::cli-reference.adoc is stale. Run 'tools/generate_reference.py smart_tests/docs/modules/references/pages/cli-reference.adoc' and commit the updated doc."
74
+ exit 1
75
+ }
76
+ shell: bash
77
+
68
78
  - name: Pull request validation
69
79
  run: |
70
80
  # Install Smart Tests CLI from this repo's code as a global tool
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: smart-tests-cli
3
- Version: 2.16.3
3
+ Version: 2.16.5
4
4
  Summary: Smart Tests CLI
5
5
  Author-email: CloudBees <support@cloudbees.com>
6
6
  License: Apache Software License v2
@@ -13,3 +13,7 @@ git clone --depth=1 "$REPO" "$tmpdir"
13
13
  rm -rf "$DOCS_DST"
14
14
  cp -r "$tmpdir/docs" "$DOCS_DST"
15
15
  echo "Docs updated at $DOCS_DST"
16
+
17
+ CLI_REFERENCE="$DOCS_DST/modules/references/pages/cli-reference.adoc"
18
+ "$(dirname "$0")/../tools/generate_reference.py" "$CLI_REFERENCE"
19
+ echo "Regenerated CLI reference tables in $CLI_REFERENCE"
@@ -3,6 +3,7 @@ from ...app import Application
3
3
  from .attachment import attachment
4
4
  from .build import build
5
5
  from .commit import commit
6
+ from .coverage import coverage
6
7
  from .deployment import deployment
7
8
  from .session import session
8
9
  from .tests import tests
@@ -18,4 +19,5 @@ record.add_command(commit)
18
19
  record.add_command(tests)
19
20
  record.add_command(session)
20
21
  record.add_command(attachment)
22
+ record.add_command(coverage)
21
23
  record.add_command(deployment)
@@ -0,0 +1,249 @@
1
+ import sys
2
+ import uuid
3
+ from typing import Any, Callable, Dict, Generator, List, Optional, Tuple
4
+
5
+ from junitparser import Error, Failure, IntAttr, Skipped, TestCase, TestSuite
6
+
7
+ from ...testpath import FilePathNormalizer, TestPath
8
+
9
+ POSSIBLE_RESULTS = (Failure, Error, Skipped)
10
+
11
+ # Surefire's rerun/flaky extension tags. junitparser's TestCase.ITER_TYPES (and thus
12
+ # case.result/case.system_out/case.system_err) doesn't know about these, so they're
13
+ # read directly off the raw element.
14
+ RERUN_TAGS = ("rerunFailure", "rerunError")
15
+ FLAKY_TAGS = ("flakyFailure", "flakyError")
16
+
17
+ # Internal-only key tagging which original <testcase> an event came from (see
18
+ # from_case_and_suite). Used by summarize_case_events to group retry/flaky attempts of the
19
+ # SAME testcase without relying on testPath (which can be lossy, e.g. Maven's nested-class
20
+ # $-stripping, or missing/extra attributes from the raw runner's free-form TestPathComponent).
21
+ # Must be stripped before a payload is uploaded (see tests.py's payload()).
22
+ BATCH_ID_KEY = "testcaseBatchId"
23
+
24
+ CaseEventType = Dict[str, Any]
25
+ CaseEventGenerator = Generator[CaseEventType, None, None]
26
+
27
+ # function that computes TestPath from a test case
28
+ # The 3rd argument is the report file path
29
+ TestPathBuilder = Callable[[TestCase, TestSuite, str], TestPath]
30
+
31
+ DataBuilder = Callable[[TestCase], Dict[str, Any] | None]
32
+
33
+
34
+ class CaseEvent:
35
+ EVENT_TYPE = "case"
36
+ TEST_SKIPPED = 2
37
+ TEST_PASSED = 1
38
+ TEST_FAILED = 0
39
+
40
+ STATUS_MAP = {
41
+ 'TEST_SKIPPED': TEST_SKIPPED,
42
+ 'TEST_PASSED': TEST_PASSED,
43
+ 'TEST_FAILED': TEST_FAILED,
44
+ }
45
+
46
+ @staticmethod
47
+ def default_path_builder(
48
+ file_path_normalizer: FilePathNormalizer) -> TestPathBuilder:
49
+ """
50
+ Obtains a default TestPathBuilder that uses a base directory to relativize the file name
51
+ """
52
+
53
+ def f(case: TestCase, suite: TestSuite, report_file: str) -> TestPath:
54
+ classname = case._elem.attrib.get("classname") or suite._elem.attrib.get("classname")
55
+ filepath = case._elem.attrib.get("file") or suite._elem.attrib.get("filepath")
56
+ if filepath:
57
+ filepath = file_path_normalizer.relativize(filepath)
58
+
59
+ test_path = []
60
+ if filepath:
61
+ test_path.append({"type": "file", "name": filepath})
62
+ if classname:
63
+ test_path.append({"type": "class", "name": classname})
64
+ if case.name:
65
+ test_path.append({"type": "testcase", "name": case._elem.attrib.get("name")})
66
+ return test_path
67
+
68
+ return f
69
+
70
+ @staticmethod
71
+ def default_data_builder() -> DataBuilder:
72
+ def f(case: TestCase):
73
+ """
74
+ case for:
75
+ <testcase ... file="tests/commands/inspect/test_tests.py" line="133">
76
+ </testcase>
77
+ """
78
+ metadata = MetadataTestCase.fromelem(case)
79
+ if metadata and metadata.line is not None:
80
+ return {
81
+ "lineNumber": metadata.line
82
+ }
83
+ return None
84
+
85
+ return f
86
+
87
+ @classmethod
88
+ def from_case_and_suite(
89
+ cls,
90
+ path_builder: TestPathBuilder,
91
+ case: TestCase,
92
+ suite: TestSuite,
93
+ report_file: str,
94
+ data_builder: DataBuilder
95
+ ) -> List[Dict]:
96
+ """
97
+ Builds JSON representations of CaseEvent(s) from JUnitParser objects.
98
+
99
+ Normally a <testcase> maps to a single event. But Surefire's rerun/flaky
100
+ reports pack multiple attempts into one <testcase> (see RERUN_TAGS/FLAKY_TAGS);
101
+ each attempt is expanded into its own FAILED event here, in addition to the
102
+ testcase's own final PASSED/FAILED/SKIPPED result.
103
+ """
104
+
105
+ def path_canonicalizer(test_path: TestPath) -> TestPath:
106
+ if sys.platform == "win32":
107
+ for p in test_path:
108
+ p['name'] = p['name'].replace("\\", "/")
109
+
110
+ return test_path
111
+
112
+ def stdout(case: TestCase) -> str:
113
+ """
114
+ case for:
115
+ <testcase>
116
+ <system-out>...</system-out>
117
+ </testcase>
118
+ """
119
+ if case.system_out is not None:
120
+ return case.system_out
121
+
122
+ return ""
123
+
124
+ # TODO(Improvement): when <system-err> is present, it currently replaces the failure's own
125
+ # text/message below instead of being appended to it. A test can both fail AND
126
+ # print to stderr (e.g. a logged warning before the assertion), so this can hide
127
+ # the actual failure detail behind unrelated captured output. Consider
128
+ # concatenating (failure text/message first, then system-err) instead of
129
+ # returning early here.
130
+ def stderr(case: TestCase) -> str:
131
+ """
132
+ case for:
133
+ <testcase>
134
+ <system-err>...</system-err>
135
+ </testcase>
136
+ """
137
+ if case.system_err is not None:
138
+ return case.system_err
139
+
140
+ """
141
+ case for:
142
+ <testcase>
143
+ <failure message="...">...</failure>
144
+ </testcase>
145
+ """
146
+ stderr = ""
147
+ for result in case.result:
148
+ if type(result) in POSSIBLE_RESULTS:
149
+ # Since the `message` property is a summary of the `text` property,
150
+ # we should attempt to retrieve the `text` property first in order to obtain a detailed log.
151
+ if result.text:
152
+ stderr = stderr + result.text
153
+ elif result.message:
154
+ stderr = stderr + result.message + "\n"
155
+
156
+ return stderr
157
+
158
+ def final_result() -> Tuple[int, str, str, float]:
159
+ """
160
+ The testcase's own final result: unchanged from before this method supported reruns.
161
+ <testcase time> is defined by Surefire as the duration of THIS run (the first failing
162
+ run, or the last successful run), so this is the one attempt that keeps it.
163
+ """
164
+ # TODO: reconsider the initial value of the status.
165
+ status = CaseEvent.TEST_PASSED
166
+ for r in case.result:
167
+ if any(isinstance(r, s) for s in (Failure, Error)):
168
+ status = CaseEvent.TEST_FAILED
169
+ break
170
+ elif isinstance(r, Skipped):
171
+ status = CaseEvent.TEST_SKIPPED
172
+ return status, stdout(case), stderr(case), case.time
173
+
174
+ def attempt_result(elem) -> Tuple[int, str, str, float]:
175
+ """
176
+ One <flakyFailure>/<flakyError>/<rerunFailure>/<rerunError> attempt: always FAILED.
177
+ Surefire doesn't record a separate duration for these, so duration is 0 (avoids
178
+ double-counting the testcase's total time against final_result()'s duration).
179
+ """
180
+ def child_text(tag: str) -> Optional[str]:
181
+ child = elem.find(tag)
182
+ return child.text if child is not None and child.text else None
183
+
184
+ attempt_stdout = child_text("system-out") or ""
185
+ attempt_stderr = child_text("system-err") or child_text("stackTrace") or elem.attrib.get("message") or ""
186
+ return CaseEvent.TEST_FAILED, attempt_stdout, attempt_stderr, 0.0
187
+
188
+ rerun_elems = [c for c in case._elem if c.tag in RERUN_TAGS]
189
+ flaky_elems = [c for c in case._elem if c.tag in FLAKY_TAGS]
190
+
191
+ if rerun_elems:
192
+ # failed on the first attempt and on every rerun
193
+ attempts = [final_result()] + [attempt_result(e) for e in rerun_elems]
194
+ elif flaky_elems:
195
+ # failed on earlier attempts, passed on the last one
196
+ attempts = [attempt_result(e) for e in flaky_elems] + [final_result()]
197
+ else:
198
+ # no reruns: unchanged, single-event behavior
199
+ attempts = [final_result()]
200
+
201
+ test_path = path_canonicalizer(path_builder(case, suite, report_file))
202
+ data = data_builder(case)
203
+ # One id per original <testcase>, shared by every attempt derived from it here, so
204
+ # summarize_case_events can group retries correctly without relying on test_path.
205
+ batch_id = uuid.uuid4()
206
+
207
+ return [
208
+ {
209
+ **CaseEvent.create(
210
+ test_path=test_path,
211
+ duration_secs=attempt_duration,
212
+ status=attempt_status,
213
+ stdout=attempt_stdout,
214
+ stderr=attempt_stderr,
215
+ timestamp=suite.timestamp,
216
+ data=data,
217
+ ),
218
+ BATCH_ID_KEY: batch_id,
219
+ }
220
+ for attempt_status, attempt_stdout, attempt_stderr, attempt_duration in attempts
221
+ ]
222
+
223
+ @classmethod
224
+ def create(cls, test_path: TestPath, duration_secs: float, status,
225
+ stdout: str | None = None, stderr: str | None = None,
226
+ timestamp: str | None = None, data: Dict | None = None) -> Dict:
227
+ """
228
+ Builds a JSON representation of CaseEvent from arbitrary set of values
229
+
230
+ status: TEST_FAILED or TEST_PASSED
231
+ timestamp: the raw <testsuite timestamp> string, sent unresolved. The server owns timezone
232
+ resolution (see mothership TestTimestampResolver); the CLI holds no framework-TZ
233
+ knowledge. None when the runner emits no suite timestamp.
234
+ data: arbitrary data to be submitted to the server. reserved for future enhancement.
235
+ """
236
+ return {
237
+ "type": cls.EVENT_TYPE,
238
+ "testPath": test_path,
239
+ "duration": duration_secs if duration_secs and duration_secs >= 0.0 else 0.0,
240
+ "status": status,
241
+ "stdout": stdout or "",
242
+ "stderr": stderr or "",
243
+ "junitSuiteTimestamp": timestamp,
244
+ "data": data
245
+ }
246
+
247
+
248
+ class MetadataTestCase(TestCase):
249
+ line = IntAttr()
@@ -0,0 +1,135 @@
1
+ import glob
2
+ import os
3
+ from io import BytesIO
4
+ from pathlib import Path
5
+ from typing import Annotated, List, Optional, Tuple
6
+
7
+ import click
8
+ from tabulate import tabulate
9
+
10
+ import smart_tests.args4p.typer as typer
11
+ from smart_tests.utils.session import SessionId, get_session
12
+
13
+ from ... import args4p
14
+ from ...app import Application
15
+ from ...utils.smart_tests_client import SmartTestsClient
16
+
17
+
18
+ class CoverageStatus:
19
+ SUCCESS = "✓ Recorded successfully"
20
+ FAILED = "⚠ Failed to record"
21
+
22
+
23
+ @args4p.command(help="Record coverage data (LCOV format) related to a test session. "
24
+ "Passing COVERAGE_FILES is optional for bazel; "
25
+ "files are auto discovered when the command is run inside project root. "
26
+ "Other test runners must pass their coverage report file(s) directly.")
27
+ def coverage(
28
+ app: Application,
29
+ session: Annotated[SessionId, SessionId.as_option()],
30
+ coverage_files: Annotated[List[str], typer.Argument(
31
+ multiple=True,
32
+ required=False,
33
+ help="Coverage report files to upload (LCOV format)"
34
+ )] = [],
35
+ ):
36
+ client = SmartTestsClient(app=app)
37
+ sources: List[str] = []
38
+
39
+ try:
40
+ # Assert test session exists
41
+ get_session(session, client)
42
+
43
+ if coverage_files:
44
+ sources = list(coverage_files)
45
+ blocks = [_read(f) for f in sources]
46
+ else:
47
+ # No files given: auto-discover from the current directory
48
+ # Auto discovery is Bazel only for now.
49
+ sources, blocks = discover_bazel_coverage(Path("."))
50
+
51
+ # LCOV tracefiles are just a sequence of SF:...end_of_record blocks, so concatenating
52
+ # multiple files is itself a valid tracefile. Send them as one upload rather than one
53
+ # request per file. The server already unions repeated SF: blocks for the same file within
54
+ # one upload, so this is correct even when the inputs cover overlapping files (e.g. one
55
+ # report from a unit-test run, another from an integration-test run touching the same
56
+ # source file)
57
+ content = b"\n".join(blocks)
58
+ status, files_recorded, is_reupload = post_coverage(client, session, content)
59
+ except Exception as e:
60
+ client.print_exception_and_recover(e)
61
+ status, files_recorded, is_reupload = CoverageStatus.FAILED, None, False
62
+
63
+ display_summary(sources, status, files_recorded, is_reupload)
64
+
65
+
66
+ def discover_bazel_coverage(workspace: "str | Path") -> Tuple[List[str], List[bytes]]:
67
+ """
68
+ Finds every per-target coverage.dat under <workspace>/bazel-testlogs
69
+
70
+ Bazel's own coverage.dat carries no target identity on its own, though TN (Test Name) is a standard LCOV field.
71
+ So we derive TN by file path (same approach used by `record tests bazel`
72
+ (bazel-testlogs/<pkg>/<target>/coverage.dat -> TN://<pkg>:<target>).
73
+ """
74
+ base = Path(workspace).joinpath('bazel-testlogs')
75
+ if not base.exists():
76
+ raise click.UsageError(
77
+ "No such directory: %s. "
78
+ "Pass coverage report file(s) directly as arguments instead." % str(base))
79
+
80
+ sources: List[str] = []
81
+ blocks: List[bytes] = []
82
+ for report_file in sorted(glob.iglob(os.path.join(str(base), '**', 'coverage.dat'), recursive=True)):
83
+ pkg_and_target = report_file[len(str(base)) + 1:-len("/coverage.dat")]
84
+ package, target = os.path.dirname(pkg_and_target), os.path.basename(pkg_and_target)
85
+ label = "//{}:{}".format(package.replace(os.sep, '/'), target)
86
+ sources.append(report_file)
87
+ blocks.append(_tag_with_test_name(_read(report_file), label))
88
+
89
+ if not blocks:
90
+ raise click.UsageError("No coverage.dat files found under %s" % str(base))
91
+
92
+ return sources, blocks
93
+
94
+
95
+ def _tag_with_test_name(content: bytes, label: str) -> bytes:
96
+ tn_line = "TN:{}\n".format(label).encode('utf-8')
97
+ tagged = []
98
+ for line in content.splitlines(keepends=True):
99
+ if line.startswith(b"SF:"):
100
+ tagged.append(tn_line)
101
+ tagged.append(line)
102
+ return b"".join(tagged)
103
+
104
+
105
+ def _read(path: str) -> bytes:
106
+ with open(path, mode='rb') as f:
107
+ return f.read()
108
+
109
+
110
+ def post_coverage(client: SmartTestsClient, session: SessionId, content: bytes) -> Tuple[str, Optional[int], bool]:
111
+ try:
112
+ res = client.request(
113
+ "post", session.subpath("coverage"), compress=True, payload=BytesIO(content),
114
+ additional_headers={"Content-Type": "text/plain"})
115
+ res.raise_for_status()
116
+ summary = res.json()
117
+ return CoverageStatus.SUCCESS, summary.get("sourceFilesRecorded"), summary.get("isReupload", False)
118
+ except Exception as e:
119
+ click.echo("Failed to upload coverage report: {}".format(str(e)), err=True)
120
+ return CoverageStatus.FAILED, None, False
121
+
122
+
123
+ def display_summary(sources: List[str], status: str, source_files: Optional[int], is_reupload: bool = False):
124
+ if sources:
125
+ click.echo(tabulate([[f] for f in sources], ["Coverage files found"], tablefmt="github"))
126
+ click.echo()
127
+ rows = [[len(sources), source_files if source_files is not None else "-", status]]
128
+ click.echo(tabulate(rows, ["Coverage Files", "Source Files", "Status"], tablefmt="github"))
129
+ if is_reupload:
130
+ click.echo(
131
+ click.style(
132
+ "⚠ This session already had coverage recorded. The previous upload was overwritten. "
133
+ "Refer to --help if you intended to record multiple files",
134
+ fg="yellow"),
135
+ err=True)
@@ -6,7 +6,7 @@ import xml.etree.ElementTree as ET
6
6
  from concurrent.futures import ThreadPoolExecutor, as_completed
7
7
  from pathlib import Path
8
8
  from time import time_ns
9
- from typing import Annotated, Callable, Dict, Generator, List, Tuple, Union
9
+ from typing import Annotated, Any, Callable, Dict, Generator, Iterable, List, Tuple, Union
10
10
 
11
11
  import click
12
12
  from dateutil.parser import ParserError, parse
@@ -32,7 +32,7 @@ from ...utils.fail_fast_mode import (FailFastModeValidateParams, fail_fast_mode_
32
32
  set_fail_fast_mode, warn_and_exit_if_fail_fast_mode)
33
33
  from ...utils.logger import Logger
34
34
  from ...utils.smart_tests_client import SmartTestsClient
35
- from .case_event import CaseEvent, CaseEventGenerator, CaseEventType, DataBuilder, TestPathBuilder
35
+ from .case_event import BATCH_ID_KEY, CaseEvent, CaseEventGenerator, CaseEventType, DataBuilder, TestPathBuilder
36
36
 
37
37
  # Together with the workers sending events, this stays within urllib3's default pool size (10 connections per host)
38
38
  MAX_RAW_FILE_UPLOAD_WORKERS = 5
@@ -45,6 +45,18 @@ GROUP_NAME_RULE = re.compile("^[a-zA-Z0-9][a-zA-Z0-9_-]*$")
45
45
  RESERVED_GROUP_NAMES = ["group", "groups", "nogroup", "nogroups"]
46
46
 
47
47
 
48
+ def _agent_utc_offset() -> str:
49
+ """The recording agent's current UTC offset as an ISO string (e.g. '+09:00', '+00:00').
50
+
51
+ Sent once per 'record tests' request so the server can resolve naive suite timestamps. Parseable
52
+ by the server's ZoneOffset.of(...).
53
+ """
54
+ offset = datetime.datetime.now().astimezone().strftime("%z") # e.g. '+0900', '-0700', '+0000'
55
+ if not offset:
56
+ return "+00:00"
57
+ return offset[:3] + ":" + offset[3:5]
58
+
59
+
48
60
  def _validate_group(value):
49
61
  if value is None:
50
62
  return ""
@@ -118,7 +130,8 @@ class RecordTests:
118
130
  try:
119
131
  for suite in testsuites:
120
132
  for case in suite:
121
- yield CaseEvent.from_case_and_suite(self.path_builder, case, suite, report, self.metadata_builder)
133
+ yield from CaseEvent.from_case_and_suite(
134
+ self.path_builder, case, suite, report, self.metadata_builder)
122
135
  except Exception as e:
123
136
  warn_and_exit_if_fail_fast_mode(
124
137
  "Warning: error parsing JUnitXml file {filename}: {error}".format(
@@ -351,7 +364,7 @@ class RecordTests:
351
364
 
352
365
  # generator that creates the payload incrementally
353
366
  def payload(
354
- cases: Generator[TestCase, None, None],
367
+ cases: Generator[CaseEventType, None, None],
355
368
  test_runner, group: str,
356
369
  test_suite_name: str,
357
370
  flavors: Dict[str, str]) -> Tuple[Dict[str, Union[str, List, dict, bool]], List[Exception]]:
@@ -361,11 +374,15 @@ class RecordTests:
361
374
 
362
375
  while True:
363
376
  try:
364
- cs.append(next(cases))
377
+ tc = next(cases)
365
378
  except StopIteration:
366
379
  break
367
380
  except Exception as ex:
368
381
  exs.append(ex)
382
+ continue
383
+ # internal-only; never leaves the process
384
+ tc.pop(BATCH_ID_KEY, None)
385
+ cs.append(tc)
369
386
 
370
387
  count += len(cs)
371
388
  return {
@@ -378,6 +395,9 @@ class RecordTests:
378
395
  # testSuite and flavors are applied only when the no-build option is enabled
379
396
  "testSuite": test_suite_name,
380
397
  "flavors": flavors,
398
+ # The recording agent's UTC offset, sent once per request. Only the client knows it;
399
+ # the server needs it to resolve naive (offset-less) suite timestamps.
400
+ "agentUtcOffset": _agent_utc_offset(),
381
401
  }, exs
382
402
 
383
403
  def send(payload: Dict[str, Union[str, List]]) -> None:
@@ -388,23 +408,6 @@ class RecordTests:
388
408
  nonlocal is_observation
389
409
  is_observation = res.json().get("testSession", {}).get("isObservation", False)
390
410
 
391
- def recorded_result() -> Tuple[int, int, int, float]:
392
- test_count = 0
393
- success_count = 0
394
- fail_count = 0
395
- duration = float(0)
396
-
397
- for tc in testcases(self.reports):
398
- test_count += 1
399
- status = tc.get("status")
400
- if status == 0:
401
- fail_count += 1
402
- elif status == 1:
403
- success_count += 1
404
- duration += float(tc.get("duration") or 0) # sec
405
-
406
- return test_count, success_count, fail_count, duration / 60 # sec to min
407
-
408
411
  try:
409
412
  start = time_ns()
410
413
  tc = testcases(self.reports)
@@ -478,7 +481,7 @@ class RecordTests:
478
481
  return
479
482
 
480
483
  file_count = len(self.reports)
481
- test_count, success_count, fail_count, duration = recorded_result()
484
+ test_count, success_count, fail_count, duration = summarize_case_events(testcases(self.reports))
482
485
 
483
486
  click.echo(
484
487
  f"Smart Tests recorded tests for build "
@@ -516,6 +519,47 @@ class RecordTests:
516
519
  tests = Group(name="tests", callback=RecordTests, help="Record test results")
517
520
 
518
521
 
522
+ def summarize_case_events(events: Iterable[CaseEventType]) -> Tuple[int, int, int, float]:
523
+ """
524
+ Summarizes a stream of case events into (test_count, success_count, fail_count, duration_minutes),
525
+ for the "Tests found / Tests passed / Tests failed" table printed after `record tests` runs.
526
+
527
+ Grouped by which original testcase an event came from, not counted per event: a flaky/rerun
528
+ testcase produces multiple events (see CaseEvent.from_case_and_suite), but it's still a
529
+ single test. A test that ever passed counts as passed (even if it also failed on earlier
530
+ attempts); a test that only ever failed counts as failed.
531
+
532
+ JUnit-based events carry BATCH_ID_KEY (one id per original <testcase>, see
533
+ from_case_and_suite), which is used as the grouping key directly. Other runners (e.g. raw)
534
+ build events without going through from_case_and_suite, so they never have that key; for
535
+ those, fall back to grouping by testPath's complete attribute set. This fallback never
536
+ assumes a component has "type"/"name" specifically -- TestPathComponent is an arbitrary
537
+ bag of string attributes (see raw's free-form testPath/testPathComponents) -- and keeps
538
+ every attribute, not just type/name, so two components differing only in some other
539
+ attribute are never treated as the same path.
540
+ """
541
+ tests: Dict[Any, Dict[str, bool]] = {}
542
+ duration = float(0)
543
+
544
+ for tc in events:
545
+ key = tc.get(BATCH_ID_KEY)
546
+ if key is None:
547
+ key = tuple(tuple(sorted(p.items())) for p in tc.get("testPath", []))
548
+ entry = tests.setdefault(key, {"passed": False, "failed": False})
549
+ status = tc.get("status")
550
+ if status == 1:
551
+ entry["passed"] = True
552
+ elif status == 0:
553
+ entry["failed"] = True
554
+ duration += float(tc.get("duration") or 0) # sec
555
+
556
+ test_count = len(tests)
557
+ success_count = sum(1 for e in tests.values() if e["passed"])
558
+ fail_count = sum(1 for e in tests.values() if e["failed"] and not e["passed"])
559
+
560
+ return test_count, success_count, fail_count, duration / 60 # sec to min
561
+
562
+
519
563
  # if we fail to determine the timestamp of the build, we err on the side of collecting more test reports
520
564
  # than no test reports, so we use the 'epoch' timestamp
521
565
  INVALID_TIMESTAMP = datetime.datetime.fromtimestamp(0)
@@ -3,7 +3,10 @@ include::ROOT:partial$abbr.adoc[]
3
3
  * xref:ROOT:index.adoc[Overview]
4
4
  * xref:send-data-to-smart-tests:send-data-to-smart-tests.adoc[Send data to {PRODUCT}]
5
5
  ** xref:send-data-to-smart-tests:set-up-smart-tests/getting-started.adoc[Set up smart tests]
6
- *** xref:send-data-to-smart-tests:set-up-smart-tests/migration-to-github-oidc-auth.adoc[Update tokenless authentication to use GitHub OIDC]
6
+ *** xref:send-data-to-smart-tests:set-up-smart-tests/migration-from-cli-v1-to-v2.adoc[Migrate from CLI v1 to v2]
7
+ *** xref:send-data-to-smart-tests:set-up-smart-tests/oidc-authentication.adoc[Authenticate without an API key (OIDC)]
8
+ *** xref:send-data-to-smart-tests:set-up-smart-tests/oidc-pipeline-authentication.adoc[Authenticate a pipeline with OIDC]
9
+ *** xref:send-data-to-smart-tests:set-up-smart-tests/migration-to-github-oidc-auth.adoc[Migrate from the legacy GitHub Actions OIDC flow]
7
10
  *** xref:send-data-to-smart-tests:set-up-smart-tests/use-the-cli-with-docker-image.adoc[Use the CLI with Docker image]
8
11
  ** xref:send-data-to-smart-tests:record-builds/record-builds.adoc[Record builds]
9
12
  *** xref:send-data-to-smart-tests:record-builds/choose-a-value-for-build-name.adoc[Choose a value for build name]
@@ -67,7 +70,6 @@ include::ROOT:partial$abbr.adoc[]
67
70
  ** xref:references:integrations/raw.adoc['raw' profile for custom test runners]
68
71
 
69
72
  * xref:references:supported-languages.adoc[Supported languages]
70
- * xref:references:supported-test-frameworks.adoc[Supported test frameworks]
71
73
  * xref:references:faq.adoc[FAQ]
72
74
 
73
75
  .Administration