smart-tests-cli 2.7.3__tar.gz → 2.8.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (649) hide show
  1. smart_tests_cli-2.8.0/.github/workflows/pre-commit.yml +16 -0
  2. {smart_tests_cli-2.7.3/smart_tests_cli.egg-info → smart_tests_cli-2.8.0}/PKG-INFO +2 -1
  3. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/pyproject.toml +1 -0
  4. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/__main__.py +2 -0
  5. smart_tests_cli-2.8.0/smart_tests/commands/analyze/__init__.py +11 -0
  6. smart_tests_cli-2.8.0/smart_tests/commands/analyze/subset.py +428 -0
  7. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/compare/subsets.py +32 -2
  8. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0/smart_tests_cli.egg-info}/PKG-INFO +2 -1
  9. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests_cli.egg-info/SOURCES.txt +3 -0
  10. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests_cli.egg-info/requires.txt +1 -0
  11. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/commands/compare/test_subsets.py +2 -1
  12. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/commands/record/test_session.py +38 -22
  13. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/jasmine/README.md +0 -1
  14. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/karma/subset_payload.json +1 -1
  15. smart_tests_cli-2.8.0/tests/utils/__init__.py +0 -0
  16. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/uv.lock +223 -178
  17. smart_tests_cli-2.7.3/tests/data/playwright/playwright.config.ts +0 -1
  18. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/.bazelrc +0 -0
  19. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/.bazelversion +0 -0
  20. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/.dockerignore +0 -0
  21. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/.editorconfig +0 -0
  22. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/.github/release.yml +0 -0
  23. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/.github/workflows/bazel-test.yml +0 -0
  24. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/.github/workflows/e2e.yml +0 -0
  25. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/.github/workflows/publish.yml +0 -0
  26. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/.github/workflows/test.yml +0 -0
  27. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/.github/workflows/update_maven_install_json.yml +0 -0
  28. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/.gitignore +0 -0
  29. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/.pre-commit-config.yaml +0 -0
  30. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/.python-version +0 -0
  31. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/.tagpr +0 -0
  32. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/CLAUDE.md +0 -0
  33. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/CONTRIBUTING.md +0 -0
  34. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/Dockerfile +0 -0
  35. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/LICENSE.txt +0 -0
  36. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/README.md +0 -0
  37. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/WORKSPACE +0 -0
  38. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/build-java.sh +0 -0
  39. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/renovate.json +0 -0
  40. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/scripts/update_docs.sh +0 -0
  41. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/setup.cfg +0 -0
  42. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/setup.py +0 -0
  43. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/__init__.py +0 -0
  44. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/app.py +0 -0
  45. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/args4p/README.md +0 -0
  46. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/args4p/__init__.py +0 -0
  47. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/args4p/argument.py +0 -0
  48. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/args4p/command.py +0 -0
  49. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/args4p/converters/__init__.py +0 -0
  50. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/args4p/decorators.py +0 -0
  51. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/args4p/exceptions.py +0 -0
  52. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/args4p/option.py +0 -0
  53. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/args4p/parameter.py +0 -0
  54. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/args4p/typer/__init__.py +0 -0
  55. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/__init__.py +0 -0
  56. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/compare/__init__.py +0 -0
  57. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/detect_flakes.py +0 -0
  58. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/gate.py +1 -1
  59. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/get/__init__.py +0 -0
  60. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/get/docs.py +0 -0
  61. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/inspect/__init__.py +0 -0
  62. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/inspect/model.py +0 -0
  63. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/inspect/subset.py +0 -0
  64. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/record/__init__.py +0 -0
  65. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/record/attachment.py +0 -0
  66. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/record/build.py +0 -0
  67. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/record/case_event.py +0 -0
  68. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/record/commit.py +0 -0
  69. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/record/deployment.py +0 -0
  70. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/record/session.py +0 -0
  71. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/record/tests.py +0 -0
  72. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/stats/__init__.py +0 -0
  73. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/stats/test_sessions.py +0 -0
  74. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/subset.py +0 -0
  75. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/test_path_writer.py +0 -0
  76. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/update/__init__.py +0 -0
  77. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/update/alias.py +0 -0
  78. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/commands/verify.py +0 -0
  79. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/antora.yml +0 -0
  80. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/0607-inference.png +0 -0
  81. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/0607-subset-creation.png +0 -0
  82. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/0607-training.png +0 -0
  83. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/507088cf-209d-4856-be3e-60477c166d92.png +0 -0
  84. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/confidence-curve.png +0 -0
  85. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/customer-example-curve.png +0 -0
  86. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/data-flow.png +0 -0
  87. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/demo.gif +0 -0
  88. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/eval-sessions-prioritized.png +0 -0
  89. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/eval-sessions.png +0 -0
  90. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/flavors.png +0 -0
  91. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/github-comment.png +0 -0
  92. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/groups-2-record-after.png +0 -0
  93. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/how-long-train-ml-model.png +0 -0
  94. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/icons/icon-vertical-three-dots-dark.png +0 -0
  95. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/illustion-run-whitelisted-tests-1.png +0 -0
  96. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/illustration-ignore-flakes-1.png +0 -0
  97. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/illustration-rotate-optimize-coverage.png +0 -0
  98. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/illustration-run-recently-failed-tests.png +0 -0
  99. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/in-place.png +0 -0
  100. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/link-to-results-example.png +0 -0
  101. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/model-training-evaluation-confidence-curves.png +0 -0
  102. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/new-code-existing-tests.png +0 -0
  103. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/object-model-june.png +0 -0
  104. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/object-model-v2.png +0 -0
  105. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/object-model.png +0 -0
  106. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/optimization-target.png +0 -0
  107. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/predictive-test-selection-observation-mode.png +0 -0
  108. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/prioritized-evaluation-session.png +0 -0
  109. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/pts-v2-working.png +0 -0
  110. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/recording-data.png +0 -0
  111. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/recording-from-multiple-repos-built-separately-detailed.png +0 -0
  112. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/recording-from-multiple-repos-built-separately.png +0 -0
  113. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/recording-from-multiple-repos.png +0 -0
  114. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2023-07-25-at-20-41-20.png +0 -0
  115. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2023-07-25-at-20-44-15.png +0 -0
  116. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2023-07-25-at-20-45-10.png +0 -0
  117. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2023-08-22-at-22-50-49.png +0 -0
  118. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2024-04-29-at-1-48-30-pm.png +0 -0
  119. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2024-04-29-at-2-14-11-pm.png +0 -0
  120. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2024-05-15-at-4-50-56-pm.png +0 -0
  121. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2024-05-15-at-5-06-32-pm.png +0 -0
  122. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2024-05-15-at-5-09-04-pm.png +0 -0
  123. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/screenshot-2024-05-15-at-5-21-37-pm.png +0 -0
  124. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/sending-data/builds-dashboard.png +0 -0
  125. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/sending-data/create-api-key.png +0 -0
  126. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/sending-data/initial-settings.png +0 -0
  127. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/sending-data/record-session.png +0 -0
  128. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/sending-data/test-session-interface.png +0 -0
  129. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/shift-left.png +0 -0
  130. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/single-session-compared.png +0 -0
  131. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/single-session-result.png +0 -0
  132. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/slack-desktop-with-app-messages.png +0 -0
  133. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/smart-subset-formation-flow.png +0 -0
  134. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/smart-tests-builds-interface-v1png.png +0 -0
  135. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/smart-tests-cli-3.png +0 -0
  136. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/smart-tests-monthly-time-saved.png +0 -0
  137. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/smart-tests_api_key_setting_20210613.png +0 -0
  138. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/smart-tests_invite_url_20220613.png +0 -0
  139. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/smart-tests_settings_20220613.png +0 -0
  140. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/subscription-ux.png +0 -0
  141. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/subset-creation.png +0 -0
  142. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/subset-exclude.png +0 -0
  143. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/subsetting-diagram-2x.png +0 -0
  144. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/target-line.png +0 -0
  145. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/test-insights-example.png +0 -0
  146. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/test-pyramid.png +0 -0
  147. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/test-runs-log.png +0 -0
  148. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/test-session-definition-2.png +0 -0
  149. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/test-session-definition-3.png +0 -0
  150. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/test-session-definition-4.png +0 -0
  151. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/test-session-definition.png +0 -0
  152. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/test-session-details-with-content.png +0 -0
  153. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/test-session-report-example.png +0 -0
  154. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/test-sessions-layout.png +0 -0
  155. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/testing-bottleneck-infinity.png +0 -0
  156. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/training-wheels.png +0 -0
  157. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/trends.png +0 -0
  158. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/triage-email-demo.avif +0 -0
  159. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/use-case-1.png +0 -0
  160. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/use-case-2.png +0 -0
  161. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/assets/images/zis-with-groups.png +0 -0
  162. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/nav.adoc +0 -0
  163. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/pages/getting-started.adoc +0 -0
  164. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/pages/index.adoc +0 -0
  165. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/partials/abbr.adoc +0 -0
  166. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/ROOT/partials/conditionals.adoc +0 -0
  167. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/concepts/pages/branch.adoc +0 -0
  168. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/concepts/pages/build.adoc +0 -0
  169. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/concepts/pages/insight.adoc +0 -0
  170. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/concepts/pages/object-model.adoc +0 -0
  171. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/concepts/pages/organization.adoc +0 -0
  172. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/concepts/pages/subset.adoc +0 -0
  173. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/concepts/pages/test-session.adoc +0 -0
  174. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/concepts/pages/test-suite.adoc +0 -0
  175. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/concepts/pages/workspace.adoc +0 -0
  176. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/intelligent-test-failure-diagnostics.adoc +0 -0
  177. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/faq.adoc +0 -0
  178. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/how-we-select-tests.adoc +0 -0
  179. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/observe-subset-behavior.adoc +0 -0
  180. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/request-and-run-a-subset-of-tests/choose-a-subset-optimization-target/choose-a-subset-optimization-target.adoc +0 -0
  181. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/request-and-run-a-subset-of-tests/choose-a-subset-optimization-target/smart-subset-optimization-target.adoc +0 -0
  182. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/request-and-run-a-subset-of-tests/request-and-run-a-subset-of-tests.adoc +0 -0
  183. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/request-and-run-a-subset-of-tests/subset-with-the-smart-tests-cli/combine-with-rule-based-test-selection.adoc +0 -0
  184. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/request-and-run-a-subset-of-tests/subset-with-the-smart-tests-cli/replace-static-parallel-suites-dynamic-parallel-subset.adoc +0 -0
  185. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/request-and-run-a-subset-of-tests/subset-with-the-smart-tests-cli/subset-with-the-smart-tests-cli.adoc +0 -0
  186. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/request-and-run-a-subset-of-tests/subset-with-the-smart-tests-cli/zero-input-subsetting/use-groups-to-split-subsets.adoc +0 -0
  187. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/request-and-run-a-subset-of-tests/subset-with-the-smart-tests-cli/zero-input-subsetting/zero-input-subsetting.adoc +0 -0
  188. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/smart-tests-extension-for-VS-code.adoc +0 -0
  189. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/use-cases-for-predictive-test-selection.adoc +0 -0
  190. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/predictive-test-selection/viewing-time-savings.adoc +0 -0
  191. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/predictive-test-selection.adoc +0 -0
  192. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/test-notifications/github-app-for-test-sessions.adoc +0 -0
  193. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/test-notifications/test-notifications-via-slack.adoc +0 -0
  194. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/test-notifications.adoc +0 -0
  195. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/test-results-and-reports.adoc +0 -0
  196. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/test-suite-parallelization/parallelize-your-test-suite-with-the-smart-tests-cli.adoc +0 -0
  197. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/test-suite-parallelization.adoc +0 -0
  198. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/trends.adoc +0 -0
  199. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/features/pages/unhealthy-tests.adoc +0 -0
  200. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/ci-tool-integrations/github-actions.adoc +0 -0
  201. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/ci-tool-integrations.adoc +0 -0
  202. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/cli-reference.adoc +0 -0
  203. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/cli-version.txt +0 -0
  204. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/adb.adoc +0 -0
  205. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/ant.adoc +0 -0
  206. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/bazel.adoc +0 -0
  207. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/behave.adoc +0 -0
  208. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/ctest.adoc +0 -0
  209. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/cucumber.adoc +0 -0
  210. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/cypress.adoc +0 -0
  211. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/dotnet-test.adoc +0 -0
  212. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/flutter.adoc +0 -0
  213. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/go-test.adoc +0 -0
  214. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/googletest.adoc +0 -0
  215. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/gradle.adoc +0 -0
  216. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/jest.adoc +0 -0
  217. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/karma.adoc +0 -0
  218. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/maven.adoc +0 -0
  219. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/minitest.adoc +0 -0
  220. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/playwright.adoc +0 -0
  221. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/prove.adoc +0 -0
  222. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/pytest.adoc +0 -0
  223. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/raw.adoc +0 -0
  224. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/robot.adoc +0 -0
  225. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/rspec.adoc +0 -0
  226. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/use-the-generic-file-based-runner-integration.adoc +0 -0
  227. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/vitest.adoc +0 -0
  228. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations/xctest.adoc +0 -0
  229. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/integrations.adoc +0 -0
  230. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/onboarding-guide/best-practices-checklist.adoc +0 -0
  231. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/onboarding-guide/optional-configurations.adoc +0 -0
  232. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/onboarding-guide.adoc +0 -0
  233. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/policies/data-examples.adoc +0 -0
  234. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/policies/data-privacy-and-protection.adoc +0 -0
  235. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/policies/security-policies.adoc +0 -0
  236. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/policies.adoc +0 -0
  237. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-languages/c-plus-plus.adoc +0 -0
  238. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-languages/dotnet.adoc +0 -0
  239. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-languages/go.adoc +0 -0
  240. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-languages/java.adoc +0 -0
  241. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-languages/javascript.adoc +0 -0
  242. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-languages/perl.adoc +0 -0
  243. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-languages/python.adoc +0 -0
  244. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-languages/ruby.adoc +0 -0
  245. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-languages.adoc +0 -0
  246. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/appium.adoc +0 -0
  247. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/cucumber.adoc +0 -0
  248. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/googletest.adoc +0 -0
  249. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/jest.adoc +0 -0
  250. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/junit.adoc +0 -0
  251. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/minitest.adoc +0 -0
  252. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/nose.adoc +0 -0
  253. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/nunit.adoc +0 -0
  254. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/prove.adoc +0 -0
  255. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/robot.adoc +0 -0
  256. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/rspec.adoc +0 -0
  257. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/selenium.adoc +0 -0
  258. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks/testng.adoc +0 -0
  259. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/supported-test-frameworks.adoc +0 -0
  260. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/resources/pages/troubleshooting.adoc +0 -0
  261. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/getting-started/getting-started.adoc +0 -0
  262. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/getting-started/migration-to-github-oidc-auth.adoc +0 -0
  263. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/getting-started/use-the-cli-with-a-public-repository.adoc +0 -0
  264. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/getting-started/use-the-cli-with-docker-image.adoc +0 -0
  265. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-builds/choose-a-value-for-build-name.adoc +0 -0
  266. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-builds/deal-with-shallow-clones.adoc +0 -0
  267. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-builds/record-builds-from-multiple-repositories.adoc +0 -0
  268. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-builds/record-builds.adoc +0 -0
  269. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-builds/run-under-restricted-networks.adoc +0 -0
  270. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-sessions/record-sessions.adoc +0 -0
  271. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-test-results/attach-log-files.adoc +0 -0
  272. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-test-results/convert-test-reports-to-junit-format.adoc +0 -0
  273. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-test-results/ensure-record-tests-always-runs.adoc +0 -0
  274. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-test-results/manage-complex-test-session-layouts.adoc +0 -0
  275. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-test-results/record-test-results.adoc +0 -0
  276. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/record-test-results/separate-out-test-suites.adoc +0 -0
  277. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/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
  278. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/send-data-to-smart-tests.adoc +0 -0
  279. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/docs/modules/send-data-to-smart-tests/pages/subset/subset-predictive-test-selection.adoc +0 -0
  280. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/jar/exe_deploy.jar +0 -0
  281. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/plugins/__init__.py +0 -0
  282. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/__init__.py +0 -0
  283. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/adb.py +0 -0
  284. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/ant.py +0 -0
  285. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/bazel.py +0 -0
  286. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/behave.py +0 -0
  287. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/codeceptjs.py +0 -0
  288. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/ctest.py +0 -0
  289. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/cts.py +0 -0
  290. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/cucumber.py +0 -0
  291. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/cypress.py +0 -0
  292. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/dotnet.py +0 -0
  293. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/file.py +0 -0
  294. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/flutter.py +0 -0
  295. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/go_test.py +0 -0
  296. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/googletest.py +0 -0
  297. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/gradle.py +0 -0
  298. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/jasmine.py +0 -0
  299. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/jest.py +0 -0
  300. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/karma.py +0 -0
  301. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/maven.py +0 -0
  302. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/minitest.py +0 -0
  303. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/nunit.py +0 -0
  304. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/playwright.py +0 -0
  305. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/prove.py +0 -0
  306. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/pytest.py +0 -0
  307. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/raw.py +0 -0
  308. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/robot.py +0 -0
  309. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/rspec.py +0 -0
  310. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/smart_tests.py +0 -0
  311. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/vitest.py +0 -0
  312. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/test_runners/xctest.py +0 -0
  313. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/testpath.py +0 -0
  314. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/__init__.py +0 -0
  315. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/authentication.py +0 -0
  316. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/ci_provider.py +0 -0
  317. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/commands.py +0 -0
  318. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/commit_ingester.py +0 -0
  319. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/common_tz.py +0 -0
  320. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/edit_distance.py +0 -0
  321. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/env_keys.py +0 -0
  322. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/exceptions.py +0 -0
  323. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/fail_fast_mode.py +0 -0
  324. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/file_name_pattern.py +0 -0
  325. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/git_log_parser.py +0 -0
  326. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/glob.py +0 -0
  327. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/gzipgen.py +0 -0
  328. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/http_client.py +0 -0
  329. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/input_snapshot.py +0 -0
  330. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/java.py +0 -0
  331. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/link.py +0 -0
  332. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/logger.py +0 -0
  333. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/no_build.py +0 -0
  334. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/sax.py +0 -0
  335. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/session.py +0 -0
  336. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/smart_tests_client.py +0 -0
  337. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/subprocess.py +0 -0
  338. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/tracking.py +0 -0
  339. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/utils/typer_types.py +0 -0
  340. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests/version.py +0 -0
  341. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests_cli.egg-info/dependency_links.txt +0 -0
  342. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests_cli.egg-info/entry_points.txt +0 -0
  343. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/smart_tests_cli.egg-info/top_level.txt +0 -0
  344. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/BUILD +0 -0
  345. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/Authenticator.java +0 -0
  346. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/BUILD +0 -0
  347. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/BackgroundWorkStatus.java +0 -0
  348. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/BoundedExecutorService.java +0 -0
  349. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/ChunkStreamer.java +0 -0
  350. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/CommitChunkStreamer.java +0 -0
  351. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/CommitGraphCollector.java +0 -0
  352. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/ConcurrentConsumer.java +0 -0
  353. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/CountingDiffFormatter.java +0 -0
  354. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/FileChunkStreamer.java +0 -0
  355. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/FlushableConsumer.java +0 -0
  356. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/GitFile.java +0 -0
  357. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/GitHubActionsAuthenticator.java +0 -0
  358. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/GitHubIdTokenAuthenticator.java +0 -0
  359. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/IOConsumer.java +0 -0
  360. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/JSAsyncFileCollectionProgress.java +0 -0
  361. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/JSAsyncFileCollectionResponse.java +0 -0
  362. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/JSCommit.java +0 -0
  363. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/JSFileChange.java +0 -0
  364. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/LaunchableHttpClient.java +0 -0
  365. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/Main.java +0 -0
  366. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/ObjectRevFilter.java +0 -0
  367. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/ProgressReporter.java +0 -0
  368. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/SSLBypass.java +0 -0
  369. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/TokenAuthenticator.java +0 -0
  370. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/TreeReceiver.java +0 -0
  371. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/main/java/com/launchableinc/ingest/commits/VirtualFile.java +0 -0
  372. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/maven_install.json +0 -0
  373. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/test/java/com/launchableinc/ingest/commits/AllTests.java +0 -0
  374. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/test/java/com/launchableinc/ingest/commits/BUILD +0 -0
  375. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/test/java/com/launchableinc/ingest/commits/BoundedExecutorServiceTest.java +0 -0
  376. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/test/java/com/launchableinc/ingest/commits/CommitGraphCollectorTest.java +0 -0
  377. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/test/java/com/launchableinc/ingest/commits/ConcurrentConsumerTest.java +0 -0
  378. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/test/java/com/launchableinc/ingest/commits/FileChunkStreamerTest.java +0 -0
  379. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/test/java/com/launchableinc/ingest/commits/MainTest.java +0 -0
  380. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/test/java/com/launchableinc/ingest/commits/PassThroughTreeReceiverImpl.java +0 -0
  381. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/test/java/com/launchableinc/ingest/commits/ProgressReporterTest.java +0 -0
  382. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/test/java/com/launchableinc/ingest/commits/SSLBypassTest.java +0 -0
  383. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/src/test/java/com/launchableinc/ingest/commits/java8-compat.sh +0 -0
  384. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/test-runner/__main__.py +0 -0
  385. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/__init__.py +0 -0
  386. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/args4p/__init__.py +0 -0
  387. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/args4p/converters/__init__.py +0 -0
  388. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/args4p/converters/test_converters.py +0 -0
  389. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/args4p/test_badcode.py +0 -0
  390. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/args4p/test_badinput.py +0 -0
  391. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/args4p/test_command.py +0 -0
  392. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/args4p/test_decorators.py +0 -0
  393. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/args4p/test_help.py +0 -0
  394. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/args4p/test_parameter.py +0 -0
  395. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/args4p/test_typer.py +0 -0
  396. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/cli_test_case.py +0 -0
  397. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/commands/__init__.py +0 -0
  398. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/commands/compare/__init__.py +0 -0
  399. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/commands/inspect/test_model.py +0 -0
  400. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/commands/inspect/test_subset.py +0 -0
  401. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/commands/record/__init__.py +0 -0
  402. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/commands/record/test_attachment.py +0 -0
  403. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/commands/record/test_build.py +0 -0
  404. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/commands/record/test_case_event.py +0 -0
  405. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/commands/record/test_commit.py +0 -0
  406. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/commands/record/test_deployment.py +0 -0
  407. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/commands/record/test_tests.py +0 -0
  408. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/commands/test_api_error.py +0 -0
  409. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/commands/test_detect_flakes.py +0 -0
  410. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/commands/test_gate.py +0 -0
  411. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/commands/test_subset.py +0 -0
  412. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/commands/test_verify.py +0 -0
  413. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/commands/update/__init__.py +0 -0
  414. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/commands/update/test_alias.py +1 -1
  415. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/adb/subset_result.json +0 -0
  416. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/ant/junitreport/TEST-com.example.HelloWorldTest.xml +0 -0
  417. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/ant/junitreport/TEST-com.example.library.CacheTest.xml +0 -0
  418. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/ant/junitreport/TESTS-TestSuites.xml +0 -0
  419. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/ant/record_test_result.json +0 -0
  420. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/ant/src/com/example/HelloWorld.java +0 -0
  421. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/ant/src/com/example/HelloWorldTest.java +0 -0
  422. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/ant/src/com/example/library/Cache.java +0 -0
  423. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/ant/src/com/example/library/CacheTest.java +0 -0
  424. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/ant/subset_result.json +0 -0
  425. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test1/test.cache_status +0 -0
  426. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test1/test.log +0 -0
  427. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test1/test.xml +0 -0
  428. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test2/test.cache_status +0 -0
  429. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test2/test.xml +0 -0
  430. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test3/test.cache_status +0 -0
  431. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test3/test.xml +0 -0
  432. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test4/test.cache_status +0 -0
  433. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test4/test.xml +0 -0
  434. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test5/test.cache_status +0 -0
  435. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test5/test.xml +0 -0
  436. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test6/test.cache_status +0 -0
  437. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test6/test.xml +0 -0
  438. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test7/test.cache_status +0 -0
  439. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test7/test.xml +0 -0
  440. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test8/test.cache_status +0 -0
  441. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test8/test.xml +0 -0
  442. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test9/test.cache_status +0 -0
  443. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test9/test.xml +0 -0
  444. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/build_event.json +0 -0
  445. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/build_event_rest.json +0 -0
  446. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/record_test_result.json +0 -0
  447. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/record_test_with_build_event_json_result.json +0 -0
  448. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/record_test_with_multiple_build_event_json_result.json +0 -0
  449. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/bazel/subset_result.json +0 -0
  450. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/behave/record_test_result.json +0 -0
  451. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/behave/reports/report.xml +0 -0
  452. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/behave/subset_result.json +0 -0
  453. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/broken_xml/broken.xml +0 -0
  454. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/broken_xml/normal.xml +0 -0
  455. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/codeceptjs/codeceptjs-result.xml +0 -0
  456. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/codeceptjs/record_test_result.json +0 -0
  457. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/ctest/Testing/latest/Test.xml +0 -0
  458. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/ctest/ctest_list.json +0 -0
  459. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/ctest/record_test_result.json +0 -0
  460. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/ctest/subset_result.json +0 -0
  461. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/cts/record_test_result.json +0 -0
  462. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/cts/subset_result.json +0 -0
  463. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/cts/test_result.xml +0 -0
  464. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/cucumber/features/foo/bar.feature +0 -0
  465. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/cucumber/features/foo/is_it_friday_yet.feature +0 -0
  466. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/cucumber/features/foo-bar.feature +0 -0
  467. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/cucumber/features/is_it_friday_yet.feature +0 -0
  468. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/cucumber/record_test_json_result.json +0 -0
  469. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/cucumber/record_test_result.json +0 -0
  470. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/cucumber/report/TEST-features-foo-bar.xml +0 -0
  471. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/cucumber/report/TEST-features-foo-is_it_friday_yet.xml +0 -0
  472. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/cucumber/report/TEST-features-is_it_friday_yet.xml +0 -0
  473. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/cucumber/report/dummy.xml +0 -0
  474. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/cucumber/report/result.json +0 -0
  475. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/cypress/empty.json +0 -0
  476. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/cypress/empty.xml +0 -0
  477. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/cypress/record_test_result.json +0 -0
  478. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/cypress/subset_result.json +0 -0
  479. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/cypress/test-result.xml +0 -0
  480. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/dotnet/record_test_result.json +0 -0
  481. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/dotnet/test-result.xml +0 -0
  482. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/file/record_test_result.json +0 -0
  483. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/file/record_test_result_custom_attribute.json +0 -0
  484. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/file/result.xml +0 -0
  485. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/file/result_custom_attribute.xml +0 -0
  486. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/flutter/record_test_result.json +0 -0
  487. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/flutter/report.json +0 -0
  488. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/git_log_ingest/sample.out +0 -0
  489. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/go_test/record_test_result.json +0 -0
  490. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/go_test/reportv1/reportv1.xml +0 -0
  491. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/go_test/reportv2/reportv2.xml +0 -0
  492. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/go_test/subset_result.json +0 -0
  493. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/googletest/fail/output.xml +0 -0
  494. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/googletest/fail/record_test_result.json +0 -0
  495. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/googletest/output_a.xml +0 -0
  496. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/googletest/output_b.xml +0 -0
  497. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/googletest/record_test_result.json +0 -0
  498. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/googletest/subset_result.json +0 -0
  499. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/gradle/java/app/src/test/java/com/example/sample_app_gradle/App2Test.java +0 -0
  500. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/gradle/java/app/src/test/java/com/example/sample_app_gradle/AppTest.java +0 -0
  501. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/gradle/java/app/src/test/java/com/example/sample_app_gradle/sub/App3Test.java +0 -0
  502. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/gradle/recursion/expected.json +0 -0
  503. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/gradle/recursion/foo/bar/reports/1.xml +0 -0
  504. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/jasmine/jasmine-test-results-v3.99.0.json +0 -0
  505. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/jasmine/jasmine-test-results.json +0 -0
  506. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/jasmine/record_test_result.json +0 -0
  507. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/jasmine/subset_payload.json +0 -0
  508. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/jest/junit.xml +0 -0
  509. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/jest/record_test_result.json +0 -0
  510. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/jest/subset_result.json +0 -0
  511. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/karma/README.md +0 -0
  512. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/karma/record_test_result.json +0 -0
  513. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/karma/sample-report.json +0 -0
  514. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/karma/subset_result.json +0 -0
  515. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/README.md +0 -0
  516. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/createdFile_1.lst +0 -0
  517. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/createdFile_2.lst +0 -0
  518. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/dryrun-test/target/surefire-reports/TEST-com.example.excludetestapplication.ExcludeTestApplicationTests.xml +0 -0
  519. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/dryrun-test/target/surefire-reports/TEST-com.launchable.demo.CalculatorTest.xml +0 -0
  520. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/dryrun-test/target/surefire-reports/TEST-com.launchable.demo.MixedTagsTest.xml +0 -0
  521. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/dryrun-test/target/surefire-reports/com.example.excludetestapplication.ExcludeTestApplicationTests.txt +0 -0
  522. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/dryrun-test/target/surefire-reports/com.launchable.demo.CalculatorTest.txt +0 -0
  523. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/dryrun-test/target/surefire-reports/com.launchable.demo.MixedTagsTest.txt +0 -0
  524. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/java/test/src/java/com/example/sample_app_maven/App2Test.java +0 -0
  525. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/java/test/src/java/com/example/sample_app_maven/AppTest.java +0 -0
  526. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/java/test/src/java/com/launchableinc/rocket_car_maven/e2e/E2ETest.java +0 -0
  527. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/list.lst +0 -0
  528. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/record_test_result.json +0 -0
  529. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/reports/TEST-1.xml +0 -0
  530. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/reports/TEST-2.xml +0 -0
  531. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/reports/TEST-nested.xml +0 -0
  532. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/reports/dummy.xml +0 -0
  533. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/subset_by_absolute_time_result.json +0 -0
  534. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/subset_by_confidence_result.json +0 -0
  535. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/subset_from_file_result.json +0 -0
  536. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/subset_result.json +0 -0
  537. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/subset_scan_test_compile_lst_result.json +0 -0
  538. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/maven/subset_with_exclude_rules_result.json +0 -0
  539. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/minitest/TEST-Admin_UserTest.xml +0 -0
  540. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/minitest/TEST-Admin_UserTest_ChildlenTest.xml +0 -0
  541. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/minitest/TEST-UserControllerTest.xml +0 -0
  542. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/minitest/TEST-UserCopyTest.xml +0 -0
  543. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/minitest/TEST-UserTest.xml +0 -0
  544. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/minitest/record_test_result.json +0 -0
  545. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/minitest/record_test_result_chunk1.json +0 -0
  546. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/minitest/record_test_result_chunk2.json +0 -0
  547. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/minitest/subset_result.json +0 -0
  548. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/minitest/test/example_test.rb +0 -0
  549. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/nunit/list.xml +0 -0
  550. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/nunit/nunit-reporter-bug-with-nested-type.json +0 -0
  551. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/nunit/nunit-reporter-bug-with-nested-type.xml +0 -0
  552. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/nunit/output-linux.xml +0 -0
  553. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/nunit/output-windows.xml +0 -0
  554. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/nunit/record_test_result-linux.json +0 -0
  555. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/nunit/record_test_result-windows.json +0 -0
  556. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/nunit/src/.gitignore +0 -0
  557. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/nunit/src/Program.cs +0 -0
  558. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/nunit/src/README.md +0 -0
  559. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/nunit/src/Test.cs +0 -0
  560. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/nunit/src/calc.csproj +0 -0
  561. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/nunit/subset_result.json +0 -0
  562. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/playwright/packages/e2e/.gitkeep +0 -0
  563. /smart_tests_cli-2.7.3/tests/data/pytest/tests/fooo/__init__.py → /smart_tests_cli-2.8.0/tests/data/playwright/playwright.config.ts +0 -0
  564. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/playwright/record_test_result.json +0 -0
  565. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/playwright/record_test_result_with_json.json +0 -0
  566. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/playwright/record_test_result_with_json_base.json +0 -0
  567. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/playwright/record_test_result_with_prefix.json +0 -0
  568. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/playwright/report.json +0 -0
  569. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/playwright/report.xml +0 -0
  570. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/playwright/report_with_json_base.json +0 -0
  571. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/playwright/report_with_prefix.json +0 -0
  572. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/prove/record_test_result.json +0 -0
  573. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/prove/report.xml +0 -0
  574. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/pytest/pytest.ini +0 -0
  575. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/pytest/record_test_result.json +0 -0
  576. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/pytest/record_test_result_json.json +0 -0
  577. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/pytest/report.json +0 -0
  578. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/pytest/report.xml +0 -0
  579. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/pytest/subset_result.json +0 -0
  580. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/pytest/tests/conftest.py +0 -0
  581. {smart_tests_cli-2.7.3/tests/test_runners → smart_tests_cli-2.8.0/tests/data/pytest/tests/fooo}/__init__.py +0 -0
  582. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/pytest/tests/fooo/filenameonly_test.py +0 -0
  583. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/pytest/tests/fooo/func4_test.py +0 -0
  584. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/pytest/tests/funcs3_test.py +0 -0
  585. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/pytest/tests/test_funcs1.py +0 -0
  586. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/pytest/tests/test_funcs2.py +0 -0
  587. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/robot/dryrun.xml +0 -0
  588. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/robot/output.xml +0 -0
  589. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/robot/record_test_executed_only_one_file_result.json +0 -0
  590. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/robot/record_test_result.json +0 -0
  591. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/robot/single-output.xml +0 -0
  592. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/robot/subset_result.json +0 -0
  593. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/rspec/record_test_result.json +0 -0
  594. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/rspec/rspec.xml +0 -0
  595. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/vitest/record_test_result.json +0 -0
  596. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/vitest/report.xml +0 -0
  597. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/xctest/junit.xml +0 -0
  598. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/xctest/record_test_result.json +0 -0
  599. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/data/xctest/subset_result.json +0 -0
  600. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/helper.py +0 -0
  601. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/plugins/foo.py +0 -0
  602. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_cli_test_case.py +0 -0
  603. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_plugin.py +0 -0
  604. {smart_tests_cli-2.7.3/tests/utils → smart_tests_cli-2.8.0/tests/test_runners}/__init__.py +0 -0
  605. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_adb.py +0 -0
  606. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_ant.py +0 -0
  607. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_bazel.py +0 -0
  608. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_behave.py +0 -0
  609. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_codeceptjs.py +0 -0
  610. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_ctest.py +0 -0
  611. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_cts.py +0 -0
  612. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_cucumber.py +0 -0
  613. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_cypress.py +0 -0
  614. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_dotnet.py +0 -0
  615. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_file.py +0 -0
  616. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_go_test.py +0 -0
  617. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_googletest.py +0 -0
  618. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_gradle.py +0 -0
  619. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_jasmine.py +0 -0
  620. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_jest.py +0 -0
  621. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_karma.py +0 -0
  622. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_maven.py +0 -0
  623. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_minitest.py +0 -0
  624. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_nunit.py +0 -0
  625. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_playwright.py +0 -0
  626. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_prove.py +0 -0
  627. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_pytest.py +0 -0
  628. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_raw.py +0 -0
  629. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_robot.py +0 -0
  630. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_rspec.py +0 -0
  631. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_vitest.py +0 -0
  632. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_runners/test_xctest.py +0 -0
  633. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_testpath.py +0 -0
  634. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/test_version.py +0 -0
  635. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/utils/test_authentication.py +0 -0
  636. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/utils/test_edit_distance.py +0 -0
  637. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/utils/test_fail_fast_mode.py +0 -0
  638. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/utils/test_file_name_pattern.py +0 -0
  639. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/utils/test_git_log_parser.py +0 -0
  640. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/utils/test_glob.py +0 -0
  641. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/utils/test_gzipgen.py +0 -0
  642. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/utils/test_http_client.py +0 -0
  643. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/utils/test_link.py +0 -0
  644. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/utils/test_logger.py +0 -0
  645. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/utils/test_session.py +0 -0
  646. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/utils/test_typer.py +0 -0
  647. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tests/utils/test_typer_types.py +0 -0
  648. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tools/README.md +0 -0
  649. {smart_tests_cli-2.7.3 → smart_tests_cli-2.8.0}/tools/generate_reference.py +0 -0
@@ -0,0 +1,16 @@
1
+ name: pre-commit
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches: [main]
7
+
8
+ jobs:
9
+ pre-commit:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v6
13
+ - uses: actions/setup-python@v6
14
+ with:
15
+ python-version-file: .python-version
16
+ - uses: pre-commit/action@v3.0.1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: smart-tests-cli
3
- Version: 2.7.3
3
+ Version: 2.8.0
4
4
  Summary: Smart Tests CLI
5
5
  Author-email: CloudBees <support@cloudbees.com>
6
6
  License: Apache Software License v2
@@ -19,6 +19,7 @@ Requires-Dist: more-itertools>=7.1.0
19
19
  Requires-Dist: python-dateutil>=2.9
20
20
  Requires-Dist: tabulate>=0.9
21
21
  Requires-Dist: click<8.2,>=8.1
22
+ Requires-Dist: InquirerPy>=0.3.4
22
23
  Dynamic: license-file
23
24
 
24
25
  This is a CLI to interact with CloudBees Smart Tests.
@@ -18,6 +18,7 @@ dependencies = [
18
18
  "python-dateutil>=2.9",
19
19
  "tabulate>=0.9",
20
20
  "click>=8.1,<8.2",
21
+ "InquirerPy>=0.3.4",
21
22
  ]
22
23
  dynamic = ["version"]
23
24
 
@@ -6,6 +6,7 @@ from os.path import basename, dirname, join
6
6
 
7
7
  from smart_tests.app import Application
8
8
  from smart_tests.args4p.command import Group
9
+ from smart_tests.commands.analyze import analyze
9
10
  from smart_tests.commands.compare import compare
10
11
  from smart_tests.commands.detect_flakes import detect_flakes
11
12
  from smart_tests.commands.gate import gate
@@ -24,6 +25,7 @@ cli.add_command(subset)
24
25
  # TODO: main.add_command(split_subset)
25
26
  cli.add_command(verify)
26
27
  cli.add_command(inspect)
28
+ cli.add_command(analyze)
27
29
  cli.add_command(stats)
28
30
  cli.add_command(compare)
29
31
  cli.add_command(detect_flakes)
@@ -0,0 +1,11 @@
1
+ from ... import args4p
2
+ from ...app import Application
3
+ from .subset import subset
4
+
5
+
6
+ @args4p.group()
7
+ def analyze(app: Application):
8
+ return app
9
+
10
+
11
+ analyze.add_command(subset)
@@ -0,0 +1,428 @@
1
+ from http import HTTPStatus
2
+ from typing import Annotated, List, Optional, Tuple, cast
3
+
4
+ import click
5
+ from InquirerPy import inquirer
6
+ from tabulate import tabulate
7
+
8
+ import smart_tests.args4p.typer as typer
9
+ from smart_tests import args4p
10
+ from smart_tests.app import Application
11
+ from smart_tests.commands.compare.subsets import _display_from_subset_ids, _from_subset_ids, get_column_width, wrap_data
12
+ from smart_tests.utils.smart_tests_client import SmartTestsClient
13
+
14
+
15
+ def _get_previous_subset_id(client: SmartTestsClient, subset_id: int) -> Optional[int]:
16
+ """Fetch the previous subset ID for the given subset from the API.
17
+
18
+ Returns:
19
+ Previous subset ID if found, None otherwise
20
+ """
21
+ try:
22
+ response = client.request("get", f"subset-analyze/{subset_id}/previous")
23
+ if response.status_code == HTTPStatus.NOT_FOUND:
24
+ return None
25
+ response.raise_for_status()
26
+ payload = response.json()
27
+ return payload.get("previousSubsettingId")
28
+ except Exception as e:
29
+ client.print_exception_and_recover(e, "Warning: failed to fetch previous subset ID")
30
+ return None
31
+
32
+
33
+ def _get_pts_summary_for_expected_tests(
34
+ expected_tests: List[str],
35
+ expected_rows: List[Tuple[str, int, str, str, float]],
36
+ total_tests: int
37
+ ) -> str:
38
+ """Get summary of PTS effectiveness based on expected tests
39
+
40
+ Args:
41
+ expected_tests: Tests the user selected
42
+ expected_rows: List of (rank, after_order, test_name, reason, density) for expected tests
43
+ total_tests: Total number of tests in the subset
44
+
45
+ Example output:
46
+ ✅ Tests Promoted:
47
+ - test_model.py promoted by 42 positions to rank #1
48
+
49
+ ✅ Tests Prioritized:
50
+ - Expected test prioritized at rank #1 out of 67 (top 1.5%)
51
+
52
+ ✅ Test Selection:
53
+ - PTS successfully picked expected tests with high confidence
54
+ - test_model.py: density 0.84 (very strong correlation)
55
+ """
56
+
57
+ if not expected_rows:
58
+ return "⚠ No results to analyze"
59
+
60
+ # Calculate metrics
61
+ top_50_percent = total_tests / 2
62
+
63
+ prioritized = [r for r in expected_rows if r[1] <= top_50_percent]
64
+ promoted = [r for r in expected_rows if isinstance(r[0], str) and r[0].startswith('↑')]
65
+ high_density = [r for r in expected_rows if r[4] > 0.6]
66
+
67
+ # Build summary sections
68
+ sections = []
69
+
70
+ # Tests Promoted section (only if one or more promoted) - SHOW FIRST (flashiest metric!)
71
+ if promoted:
72
+ sections.append("✅ Tests Promoted:")
73
+
74
+ for rank, after, test_name, reason, density in promoted:
75
+ short_name = test_name.split('=')[-1].split('/')[-1] if '=' in test_name else test_name.split('/')[-1]
76
+ promotion_amount = int(rank.replace('↑', ''))
77
+ sections.append(f"- {short_name} promoted by {promotion_amount} positions to rank #{after}")
78
+
79
+ # Tests Prioritized section (only if one or more in top 50%)
80
+ if prioritized:
81
+ if sections: # Add spacing if previous section exists
82
+ sections.append("")
83
+ sections.append("✅ Tests Prioritized:")
84
+
85
+ if len(expected_tests) == 1:
86
+ test_rank = prioritized[0][1]
87
+ percentage = (test_rank / total_tests) * 100
88
+ sections.append(f"- Expected test prioritized at rank #{test_rank} out of {total_tests} (top {percentage:.1f}%)")
89
+ else:
90
+ # Multiple tests
91
+ top_n = max(r[1] for r in prioritized)
92
+ percentage = (top_n / total_tests) * 100
93
+ count_text = f"{len(prioritized)}/{len(expected_tests)}"
94
+ sections.append(
95
+ f"- {count_text} of expected tests prioritized in top {top_n} "
96
+ f"out of {total_tests} (top {percentage:.1f}%)")
97
+
98
+ # Show individual rankings if helpful
99
+ for rank, after, test_name, reason, density in prioritized:
100
+ short_name = test_name.split('=')[-1].split('/')[-1] if '=' in test_name else test_name.split('/')[-1]
101
+ sections.append(f"- {short_name} ranked #{after}")
102
+
103
+ # Test Selection section (only if one or more have density > 0.6)
104
+ if high_density:
105
+ sections.append("")
106
+ sections.append("✅ Test Selection:")
107
+ sections.append("- PTS successfully picked expected tests with high confidence")
108
+
109
+ for rank, after, test_name, reason, density in high_density:
110
+ short_name = test_name.split('=')[-1].split('/')[-1] if '=' in test_name else test_name.split('/')[-1]
111
+
112
+ # Descriptive density labels
113
+ if density >= 0.8:
114
+ confidence = "very strong"
115
+ elif density >= 0.7:
116
+ confidence = "strong"
117
+ else:
118
+ confidence = "moderate"
119
+
120
+ sections.append(f"- {short_name}: density {density:.2f} ({confidence} confidence)")
121
+
122
+ return "\n".join(sections) if sections else "⚠ Expected tests were not prioritized, promoted, or had high density"
123
+
124
+
125
+ def _echo_pts_summary_for_expected_tests(
126
+ expected_tests: List[str],
127
+ rows: List[Tuple[str, int, str, str, float]],
128
+ total_tests: int
129
+ ):
130
+ click.echo()
131
+
132
+ # Filter rows for expected tests only
133
+ # rows format: (rank, after_order, test_name, reason, density)
134
+ expected_rows = [
135
+ row for row in rows
136
+ if any(expected in row[2] for expected in expected_tests)
137
+ ]
138
+
139
+ summary = _get_pts_summary_for_expected_tests(expected_tests=expected_tests, expected_rows=expected_rows,
140
+ total_tests=total_tests)
141
+
142
+ if summary:
143
+ click.echo()
144
+ click.echo(summary)
145
+ click.echo()
146
+
147
+
148
+ def _get_related_tests(
149
+ client: SmartTestsClient,
150
+ changed_files: List[str],
151
+ selected_tests: List[str],
152
+ promoted_tests_data: List[Tuple[str, int, str, str, float]]
153
+ ) -> List[str]:
154
+ """Get related test suggestions from backend.
155
+
156
+ Args:
157
+ client: API client
158
+ changed_files: List of changed file paths
159
+ selected_tests: Tests user expected to be prioritized
160
+ promoted_tests_data: Tuples of (rank, promotion, test_name, reason, density)
161
+
162
+ Returns:
163
+ List of suggested test names (max 3), or empty list on failure
164
+ """
165
+ try:
166
+ # Limit to 500 tests
167
+ promoted_tests_payload = [
168
+ {
169
+ "testName": name,
170
+ "promotionAmount": promo,
171
+ "density": density
172
+ }
173
+ for rank, promo, name, reason, density in promoted_tests_data[:500]
174
+ ]
175
+
176
+ payload = {
177
+ "changedFiles": sorted(changed_files),
178
+ "selectedTests": selected_tests,
179
+ "promotedTests": promoted_tests_payload
180
+ }
181
+
182
+ response = client.request(
183
+ "post",
184
+ "subset-analyze/suggest-related-tests",
185
+ payload=payload
186
+ )
187
+ response.raise_for_status()
188
+ return response.json().get("relatedTests", [])
189
+
190
+ except Exception:
191
+ return []
192
+
193
+
194
+ def _analyze_subset(app: Application, subset_id: int, baseline_subset_id: Optional[int]):
195
+ client = SmartTestsClient(app=app)
196
+
197
+ # If baseline_subset_id not provided, try to fetch from API
198
+ if baseline_subset_id is None:
199
+ click.echo("→ Fetching previous subset ID...")
200
+ baseline_subset_id = _get_previous_subset_id(client, subset_id)
201
+ if baseline_subset_id is None:
202
+ click.secho(
203
+ "✗ No previous subset available for comparison. This appears to be the first subset.",
204
+ fg="red",
205
+ err=True
206
+ )
207
+ return
208
+ click.echo(f"✓ Found previous subset ID: {baseline_subset_id}")
209
+
210
+ click.echo("→ Fetching subset data...")
211
+ try:
212
+ rows, total, promoted, demoted, affected = _from_subset_ids(client, baseline_subset_id, subset_id)
213
+ except Exception as e:
214
+ click.secho(f"✗ Failed to fetch subset data: {e}", fg="red", err=True)
215
+ return
216
+
217
+ # Filter out DELETED tests - rows format: (rank, after_order, test_name, reason, density)
218
+ # After filtering: rank is str, after_order is int, density is float
219
+ rows_without_deleted = cast(
220
+ List[Tuple[str, int, str, str, float]],
221
+ [row for row in rows if row[0] != "DELETED"]
222
+ )
223
+ test_names = [row[2] for row in rows_without_deleted]
224
+
225
+ if not test_names:
226
+ click.secho("✗ No tests found in subset", fg="red", err=True)
227
+ return
228
+
229
+ click.echo(f"✓ Found {len(test_names)} tests in subset")
230
+ click.echo()
231
+
232
+ # Step 1: Select Expected Tests
233
+ click.echo("─" * 70)
234
+ click.echo("Select Expected Tests")
235
+ click.echo("─" * 70)
236
+ click.echo()
237
+
238
+ if affected:
239
+ click.echo("Code files modified:")
240
+ for file in sorted(affected):
241
+ click.echo(" - " + click.style(file, bold=True))
242
+ click.echo()
243
+
244
+ click.echo("Which tests do you expect PTS to prioritize?")
245
+ click.echo()
246
+
247
+ expected_tests = []
248
+ if inquirer.confirm(message="Select expected tests?", default=True).execute():
249
+ click.echo()
250
+ tab_space = click.style("Tab/Space", fg="cyan")
251
+ enter_key = click.style("Enter", fg="cyan")
252
+ click.echo(
253
+ f"Use {tab_space} to toggle selection, {enter_key} when done"
254
+ )
255
+ click.echo()
256
+
257
+ try:
258
+ expected_tests = inquirer.fuzzy(
259
+ message="Search and select expected tests:",
260
+ choices=test_names,
261
+ multiselect=True,
262
+ max_height="70%",
263
+ mandatory=True,
264
+ marker="✓ ",
265
+ marker_pl=" ",
266
+ ).execute()
267
+
268
+ if expected_tests:
269
+ click.echo(f"\n✓ Selected {len(expected_tests)} expected test(s):")
270
+ for test in expected_tests:
271
+ click.echo(f" • {test}")
272
+ else:
273
+ click.echo("\nNo tests selected.")
274
+ except (KeyboardInterrupt, EOFError):
275
+ click.echo("\nSkipped test selection.")
276
+ expected_tests = []
277
+
278
+ # If user didn't select any tests, fallback to:
279
+ # smart_tests/commands/compare/subsets.py
280
+ if not expected_tests:
281
+ _display_from_subset_ids(rows, total, promoted, demoted, affected)
282
+ return
283
+
284
+ # Step 2: Show Comparison Results
285
+ rows_matching_expected_tests = [
286
+ (rank, after, test_name, reason, density)
287
+ for rank, after, test_name, reason, density in rows_without_deleted
288
+ if any(expected in test_name for expected in expected_tests)
289
+ ]
290
+
291
+ click.echo()
292
+ click.echo("─" * 70)
293
+ click.echo("Comparison Results")
294
+ click.echo("─" * 70)
295
+ click.echo()
296
+
297
+ # Show filtered table
298
+ headers = ["Δ Rank", "Subset Rank", "Test Name", "Reason", "Density"]
299
+ column_width = get_column_width()
300
+ tabular_data = [
301
+ (rank, after, wrap_data(test_name, width=column_width), wrap_data(reason, width=column_width), density)
302
+ for rank, after, test_name, reason, density in rows_matching_expected_tests
303
+ ]
304
+ click.echo(tabulate(tabular_data, headers=headers, tablefmt="simple"))
305
+
306
+ # Check if any expected tests were prioritized (top 50%) or promoted
307
+ top_50_percent = total / 2
308
+ any_prioritized_or_promoted = any(
309
+ rank.startswith('↑') or after <= top_50_percent
310
+ for rank, after, test_name, reason, density in rows_matching_expected_tests
311
+ )
312
+
313
+ if not any_prioritized_or_promoted:
314
+ # Try to suggest related tests using backend
315
+ suggestions = []
316
+ try:
317
+ # Build list of tests to send to backend for suggestions
318
+ # Include: (1) Top 50% tests, (2) All promoted tests
319
+ # This ensures backend sees both high-ranking tests and tests that moved significantly
320
+ top_50_percent = total / 2
321
+
322
+ # Collect tests to send to backend (use dict to deduplicate by test_name)
323
+ # Store: (rank_str, promotion_amount, test_name, reason, density, after_order)
324
+ tests_for_ai = {}
325
+
326
+ for rank, after, test_name, reason, density in rows_without_deleted:
327
+ # Calculate promotion amount
328
+ if isinstance(rank, str) and rank.startswith('↑'):
329
+ promotion_amount = int(rank.replace('↑', ''))
330
+ else:
331
+ promotion_amount = 0
332
+
333
+ # Include if in top 50% OR promoted
334
+ if after <= top_50_percent or promotion_amount > 0:
335
+ tests_for_ai[test_name] = (rank, promotion_amount, test_name, reason, density, after)
336
+
337
+ # Convert to list and sort by:
338
+ # 1. Promotion amount (descending) - most promoted first
339
+ # 2. Rank position (ascending) - lower rank is better
340
+ tests_with_order = list(tests_for_ai.values())
341
+ tests_with_order.sort(key=lambda x: (-x[1], x[5]))
342
+
343
+ # Remove after_order from tuples (backend expects 5-tuple)
344
+ promoted_tests_data: List[Tuple[str, int, str, str, float]] = [
345
+ (rank, promo, name, reason, density)
346
+ for rank, promo, name, reason, density, after in tests_with_order
347
+ ]
348
+
349
+ # Limit to 500 tests for backend context
350
+ # Why limit the context?
351
+ # - LLMs doesn't perform well in very long contexts
352
+ # - 500 tests ≈ 12.5K tokens, well within limits
353
+ # - 500 limit should cover top 50% of test + all promoted tests in most large test suites (1000+ tests)
354
+ promoted_tests_data = promoted_tests_data[:500]
355
+
356
+ if affected and promoted_tests_data:
357
+ suggestions = _get_related_tests(
358
+ client=client,
359
+ changed_files=sorted(affected),
360
+ selected_tests=expected_tests,
361
+ promoted_tests_data=promoted_tests_data
362
+ )
363
+ except Exception:
364
+ pass
365
+
366
+ click.echo()
367
+
368
+ if not suggestions:
369
+ click.secho("⚠ Expected test(s) were not promoted in this instance.")
370
+ click.echo("- Make sure subset is created with related tests")
371
+ click.echo("- Or try modifying a different file, and try again")
372
+ click.echo()
373
+
374
+ if inquirer.confirm(
375
+ message="Would you like to search and inspect all tests?",
376
+ default=True
377
+ ).execute():
378
+ _display_from_subset_ids(rows, total, promoted, demoted, affected)
379
+
380
+ return
381
+
382
+ # Show suggestions as selectable options
383
+ click.secho("Did you expect the following test(s) instead?", fg="cyan")
384
+
385
+ suggestion_choices = []
386
+ suggestion_map = {} # Map display text to test name
387
+ for suggestion in suggestions:
388
+ # Find the test in rows to show its stats
389
+ for rank, after, test_name, reason, density in rows_without_deleted:
390
+ if suggestion in test_name:
391
+ display_text = f"{test_name} (Rank #{after}, {rank}, Density {density:.2f})"
392
+ suggestion_choices.append(display_text)
393
+ suggestion_map[display_text] = test_name
394
+ break
395
+
396
+ suggestion_choices.append("No, search all tests instead")
397
+
398
+ selected_option = inquirer.select(
399
+ message="Select a test to see its summary:",
400
+ choices=suggestion_choices,
401
+ default=suggestion_choices[0] if suggestion_choices else None,
402
+ ).execute()
403
+
404
+ if selected_option != "No, search all tests instead":
405
+ # User selected a suggested test - show AI summary for it
406
+ selected_test_name = suggestion_map[selected_option]
407
+ _echo_pts_summary_for_expected_tests([selected_test_name], rows_without_deleted, total)
408
+ return
409
+ else:
410
+ _display_from_subset_ids(rows, total, promoted, demoted, affected)
411
+ return
412
+
413
+ _echo_pts_summary_for_expected_tests(expected_tests, rows_without_deleted, total)
414
+
415
+
416
+ @args4p.command()
417
+ def subset(
418
+ app: Application,
419
+ subset_id: Annotated[int, typer.Argument(help="Subset ID to analyze")],
420
+ baseline_subset_id: Annotated[
421
+ Optional[int],
422
+ typer.Option(
423
+ "--baseline-subset-id",
424
+ help="Baseline subset ID to compare against (auto-detected if not provided)"
425
+ )
426
+ ] = None,
427
+ ):
428
+ _analyze_subset(app, subset_id, baseline_subset_id)
@@ -136,7 +136,12 @@ def subsets(
136
136
  client = SmartTestsClient(app=app)
137
137
  # for type check
138
138
  assert subset_id_before is not None and subset_id_after is not None
139
- _from_subset_ids(client=client, subset_id_before=subset_id_before, subset_id_after=subset_id_after)
139
+ rows, total, promoted, demoted, affected = _from_subset_ids(
140
+ client=client,
141
+ subset_id_before=subset_id_before,
142
+ subset_id_after=subset_id_after
143
+ )
144
+ _display_from_subset_ids(rows, total, promoted, demoted, affected)
140
145
  return
141
146
 
142
147
  # for type check
@@ -144,7 +149,14 @@ def subsets(
144
149
  _from_files(file_before=file_before, file_after=file_after)
145
150
 
146
151
 
147
- def _from_subset_ids(client: SmartTestsClient, subset_id_before: int, subset_id_after: int):
152
+ def _from_subset_ids(
153
+ client: SmartTestsClient,
154
+ subset_id_before: int,
155
+ subset_id_after: int
156
+ ) -> Tuple[List[Tuple[str, Union[int, str], str, str, Union[float, str]]], int, int, int, set]:
157
+ """Compare two subsets, and return in format:
158
+ Tuple of (rows, total, promoted, demoted, affected)
159
+ """
148
160
  before_subset = SubsetResults.load(client, subset_id_before)
149
161
  after_subset = SubsetResults.load(client, subset_id_after)
150
162
 
@@ -186,6 +198,24 @@ def _from_subset_ids(client: SmartTestsClient, subset_id_before: int, subset_id_
186
198
  if after_subset.get_order(test_name) is None:
187
199
  rows.append(("DELETED", '-', test_name, "", ""))
188
200
 
201
+ return rows, total, promoted, demoted, affected
202
+
203
+
204
+ def _display_from_subset_ids(
205
+ rows: List[Tuple[str, Union[int, str], str, str, Union[float, str]]],
206
+ total: int,
207
+ promoted: int,
208
+ demoted: int,
209
+ affected: set
210
+ ) -> None:
211
+ """Display subset comparison results.
212
+ Args:
213
+ rows: List of tuples (rank, after_order, test_name, reason, density)
214
+ total: Total number of tests
215
+ promoted: Number of promoted tests
216
+ demoted: Number of demoted tests
217
+ affected: Set of affected file paths
218
+ """
189
219
  summary = f"""PTS subset change summary:
190
220
  ────────────────────────────────
191
221
  -> {total} tests analyzed | {promoted} ↑ promoted | {demoted} ↓ demoted
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: smart-tests-cli
3
- Version: 2.7.3
3
+ Version: 2.8.0
4
4
  Summary: Smart Tests CLI
5
5
  Author-email: CloudBees <support@cloudbees.com>
6
6
  License: Apache Software License v2
@@ -19,6 +19,7 @@ Requires-Dist: more-itertools>=7.1.0
19
19
  Requires-Dist: python-dateutil>=2.9
20
20
  Requires-Dist: tabulate>=0.9
21
21
  Requires-Dist: click<8.2,>=8.1
22
+ Requires-Dist: InquirerPy>=0.3.4
22
23
  Dynamic: license-file
23
24
 
24
25
  This is a CLI to interact with CloudBees Smart Tests.
@@ -20,6 +20,7 @@ uv.lock
20
20
  .github/release.yml
21
21
  .github/workflows/bazel-test.yml
22
22
  .github/workflows/e2e.yml
23
+ .github/workflows/pre-commit.yml
23
24
  .github/workflows/publish.yml
24
25
  .github/workflows/test.yml
25
26
  .github/workflows/update_maven_install_json.yml
@@ -45,6 +46,8 @@ smart_tests/commands/gate.py
45
46
  smart_tests/commands/subset.py
46
47
  smart_tests/commands/test_path_writer.py
47
48
  smart_tests/commands/verify.py
49
+ smart_tests/commands/analyze/__init__.py
50
+ smart_tests/commands/analyze/subset.py
48
51
  smart_tests/commands/compare/__init__.py
49
52
  smart_tests/commands/compare/subsets.py
50
53
  smart_tests/commands/get/__init__.py
@@ -5,3 +5,4 @@ more-itertools>=7.1.0
5
5
  python-dateutil>=2.9
6
6
  tabulate>=0.9
7
7
  click<8.2,>=8.1
8
+ InquirerPy>=0.3.4
@@ -292,7 +292,8 @@ class SubsetsTest(CliTestCase):
292
292
 
293
293
  @mock.patch.dict(os.environ, {"SMART_TESTS_TOKEN": CliTestCase.smart_tests_token})
294
294
  @responses.activate
295
- def test_subsets_with_long_paths_wrapped(self):
295
+ @mock.patch('shutil.get_terminal_size', return_value=os.terminal_size((80, 24)))
296
+ def test_subsets_with_long_paths_wrapped(self, mock_terminal_size):
296
297
  """Test that long file paths in Reason column are wrapped properly."""
297
298
  long_path1 = "src/mongo/db/telemetry/telemetry_thread_base.cpp"
298
299
  long_path2 = "jstests/concurrency/fsm_workloads/timeseries/timeseries_raw_data_operations.js"