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