smart-tests-cli 2.4.0__tar.gz → 2.4.2__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.4.2/.dockerignore +5 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/PKG-INFO +1 -1
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/smart_tests.py +10 -6
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/session.py +16 -2
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests_cli.egg-info/PKG-INFO +1 -1
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests_cli.egg-info/SOURCES.txt +6 -0
- smart_tests_cli-2.4.2/tests/data/file/record_test_result.json +53 -0
- smart_tests_cli-2.4.2/tests/data/file/record_test_result_custom_attribute.json +45 -0
- smart_tests_cli-2.4.2/tests/data/file/result.xml +9 -0
- smart_tests_cli-2.4.2/tests/data/file/result_custom_attribute.xml +9 -0
- smart_tests_cli-2.4.2/tests/test_runners/test_file.py +41 -0
- smart_tests_cli-2.4.2/tests/utils/test_session.py +89 -0
- smart_tests_cli-2.4.0/tests/utils/test_session.py +0 -48
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/.bazelrc +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/.bazelversion +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/.editorconfig +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/.github/release.yml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/.github/workflows/bazel-test.yml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/.github/workflows/e2e.yml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/.github/workflows/publish.yml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/.github/workflows/test.yml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/.github/workflows/update_maven_install_json.yml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/.gitignore +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/.pre-commit-config.yaml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/.python-version +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/.tagpr +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/CLAUDE.md +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/CONTRIBUTING.md +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/Dockerfile +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/LICENSE.txt +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/README.md +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/WORKSPACE +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/build-java.sh +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/pyproject.toml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/renovate.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/setup.cfg +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/setup.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/__init__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/__main__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/app.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/args4p/README.md +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/args4p/__init__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/args4p/argument.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/args4p/command.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/args4p/converters/__init__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/args4p/decorators.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/args4p/exceptions.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/args4p/option.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/args4p/parameter.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/args4p/typer/__init__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/commands/__init__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/commands/compare/__init__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/commands/compare/subsets.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/commands/detect_flakes.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/commands/gate.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/commands/inspect/__init__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/commands/inspect/model.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/commands/inspect/subset.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/commands/record/__init__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/commands/record/attachment.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/commands/record/build.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/commands/record/case_event.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/commands/record/commit.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/commands/record/session.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/commands/record/tests.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/commands/stats/__init__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/commands/stats/test_sessions.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/commands/subset.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/commands/test_path_writer.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/commands/verify.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/jar/exe_deploy.jar +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/plugins/__init__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/__init__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/adb.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/ant.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/bazel.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/behave.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/codeceptjs.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/ctest.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/cts.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/cucumber.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/cypress.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/dotnet.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/file.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/flutter.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/go_test.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/googletest.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/gradle.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/jasmine.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/jest.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/karma.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/maven.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/minitest.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/nunit.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/playwright.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/prove.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/pytest.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/raw.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/robot.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/rspec.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/vitest.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/test_runners/xctest.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/testpath.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/__init__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/authentication.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/ci_provider.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/commands.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/commit_ingester.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/common_tz.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/edit_distance.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/env_keys.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/exceptions.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/fail_fast_mode.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/file_name_pattern.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/git_log_parser.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/glob.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/gzipgen.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/http_client.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/input_snapshot.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/java.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/link.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/logger.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/no_build.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/sax.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/smart_tests_client.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/subprocess.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/tracking.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/utils/typer_types.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests/version.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests_cli.egg-info/dependency_links.txt +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests_cli.egg-info/entry_points.txt +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests_cli.egg-info/requires.txt +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/smart_tests_cli.egg-info/top_level.txt +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/BUILD +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/Authenticator.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/BUILD +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/BackgroundWorkStatus.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/BoundedExecutorService.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/ChunkStreamer.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/CommitChunkStreamer.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/CommitGraphCollector.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/ConcurrentConsumer.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/CountingDiffFormatter.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/FileChunkStreamer.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/FlushableConsumer.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/GitFile.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/GitHubActionsAuthenticator.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/GitHubIdTokenAuthenticator.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/IOConsumer.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/JSAsyncFileCollectionProgress.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/JSAsyncFileCollectionResponse.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/JSCommit.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/JSFileChange.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/LaunchableHttpClient.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/Main.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/ObjectRevFilter.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/ProgressReporter.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/SSLBypass.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/TokenAuthenticator.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/TreeReceiver.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/main/java/com/launchableinc/ingest/commits/VirtualFile.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/maven_install.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/test/java/com/launchableinc/ingest/commits/AllTests.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/test/java/com/launchableinc/ingest/commits/BUILD +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/test/java/com/launchableinc/ingest/commits/BoundedExecutorServiceTest.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/test/java/com/launchableinc/ingest/commits/CommitGraphCollectorTest.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/test/java/com/launchableinc/ingest/commits/ConcurrentConsumerTest.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/test/java/com/launchableinc/ingest/commits/FileChunkStreamerTest.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/test/java/com/launchableinc/ingest/commits/MainTest.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/test/java/com/launchableinc/ingest/commits/PassThroughTreeReceiverImpl.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/test/java/com/launchableinc/ingest/commits/ProgressReporterTest.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/test/java/com/launchableinc/ingest/commits/SSLBypassTest.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/src/test/java/com/launchableinc/ingest/commits/java8-compat.sh +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/test-runner/__main__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/__init__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/args4p/__init__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/args4p/converters/__init__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/args4p/converters/test_converters.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/args4p/test_badcode.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/args4p/test_badinput.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/args4p/test_command.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/args4p/test_decorators.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/args4p/test_help.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/args4p/test_parameter.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/args4p/test_typer.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/cli_test_case.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/commands/__init__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/commands/compare/__init__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/commands/compare/test_subsets.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/commands/inspect/test_model.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/commands/inspect/test_subset.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/commands/record/__init__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/commands/record/test_attachment.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/commands/record/test_build.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/commands/record/test_case_event.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/commands/record/test_commit.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/commands/record/test_session.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/commands/record/test_tests.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/commands/test_api_error.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/commands/test_detect_flakes.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/commands/test_gate.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/commands/test_subset.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/commands/test_verify.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/adb/subset_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/ant/junitreport/TEST-com.example.HelloWorldTest.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/ant/junitreport/TEST-com.example.library.CacheTest.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/ant/junitreport/TESTS-TestSuites.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/ant/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/ant/src/com/example/HelloWorld.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/ant/src/com/example/HelloWorldTest.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/ant/src/com/example/library/Cache.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/ant/src/com/example/library/CacheTest.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/ant/subset_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test1/test.cache_status +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test1/test.log +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test1/test.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test2/test.cache_status +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test2/test.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test3/test.cache_status +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test3/test.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test4/test.cache_status +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test4/test.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test5/test.cache_status +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test5/test.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test6/test.cache_status +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test6/test.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test7/test.cache_status +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test7/test.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test8/test.cache_status +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test8/test.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test9/test.cache_status +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/bazel-testlogs/src/test/java/com/ninjinkun/mylib_test9/test.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/build_event.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/build_event_rest.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/record_test_with_build_event_json_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/record_test_with_multiple_build_event_json_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/bazel/subset_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/behave/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/behave/reports/report.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/behave/subset_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/broken_xml/broken.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/broken_xml/normal.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/codeceptjs/codeceptjs-result.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/codeceptjs/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/ctest/Testing/latest/Test.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/ctest/ctest_list.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/ctest/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/ctest/subset_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/cts/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/cts/subset_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/cts/test_result.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/cucumber/features/foo/bar.feature +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/cucumber/features/foo/is_it_friday_yet.feature +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/cucumber/features/foo-bar.feature +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/cucumber/features/is_it_friday_yet.feature +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/cucumber/record_test_json_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/cucumber/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/cucumber/report/TEST-features-foo-bar.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/cucumber/report/TEST-features-foo-is_it_friday_yet.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/cucumber/report/TEST-features-is_it_friday_yet.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/cucumber/report/dummy.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/cucumber/report/result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/cypress/empty.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/cypress/empty.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/cypress/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/cypress/subset_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/cypress/test-result.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/dotnet/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/dotnet/test-result.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/flutter/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/flutter/report.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/git_log_ingest/sample.out +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/go_test/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/go_test/reportv1/reportv1.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/go_test/reportv2/reportv2.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/go_test/subset_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/googletest/fail/output.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/googletest/fail/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/googletest/output_a.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/googletest/output_b.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/googletest/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/googletest/subset_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/gradle/java/app/src/test/java/com/example/sample_app_gradle/App2Test.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/gradle/java/app/src/test/java/com/example/sample_app_gradle/AppTest.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/gradle/java/app/src/test/java/com/example/sample_app_gradle/sub/App3Test.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/gradle/recursion/expected.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/gradle/recursion/foo/bar/reports/1.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/jasmine/README.md +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/jasmine/jasmine-test-results-v3.99.0.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/jasmine/jasmine-test-results.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/jasmine/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/jasmine/subset_payload.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/jest/junit.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/jest/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/jest/subset_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/karma/README.md +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/karma/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/karma/sample-report.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/karma/subset_payload.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/karma/subset_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/maven/createdFile_1.lst +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/maven/createdFile_2.lst +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/maven/java/test/src/java/com/example/sample_app_maven/App2Test.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/maven/java/test/src/java/com/example/sample_app_maven/AppTest.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/maven/java/test/src/java/com/launchableinc/rocket_car_maven/e2e/E2ETest.java +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/maven/list.lst +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/maven/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/maven/reports/TEST-1.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/maven/reports/TEST-2.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/maven/reports/TEST-nested.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/maven/reports/dummy.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/maven/subset_by_absolute_time_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/maven/subset_by_confidence_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/maven/subset_from_file_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/maven/subset_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/maven/subset_scan_test_compile_lst_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/maven/subset_with_exclude_rules_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/minitest/TEST-Admin_UserTest.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/minitest/TEST-Admin_UserTest_ChildlenTest.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/minitest/TEST-UserControllerTest.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/minitest/TEST-UserCopyTest.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/minitest/TEST-UserTest.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/minitest/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/minitest/record_test_result_chunk1.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/minitest/record_test_result_chunk2.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/minitest/subset_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/minitest/test/example_test.rb +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/nunit/list.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/nunit/nunit-reporter-bug-with-nested-type.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/nunit/nunit-reporter-bug-with-nested-type.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/nunit/output-linux.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/nunit/output-windows.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/nunit/record_test_result-linux.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/nunit/record_test_result-windows.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/nunit/src/.gitignore +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/nunit/src/Program.cs +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/nunit/src/README.md +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/nunit/src/Test.cs +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/nunit/src/calc.csproj +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/nunit/subset_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/playwright/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/playwright/record_test_result_with_json.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/playwright/report.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/playwright/report.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/prove/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/prove/report.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/pytest/pytest.ini +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/pytest/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/pytest/record_test_result_json.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/pytest/report.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/pytest/report.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/pytest/subset_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/pytest/tests/conftest.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/pytest/tests/fooo/__init__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/pytest/tests/fooo/filenameonly_test.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/pytest/tests/fooo/func4_test.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/pytest/tests/funcs3_test.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/pytest/tests/test_funcs1.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/pytest/tests/test_funcs2.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/robot/dryrun.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/robot/output.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/robot/record_test_executed_only_one_file_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/robot/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/robot/single-output.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/robot/subset_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/rspec/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/rspec/rspec.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/vitest/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/vitest/report.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/xctest/junit.xml +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/xctest/record_test_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/data/xctest/subset_result.json +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/helper.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/plugins/foo.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_cli_test_case.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_plugin.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/__init__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_adb.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_ant.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_bazel.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_behave.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_codeceptjs.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_ctest.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_cts.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_cucumber.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_cypress.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_dotnet.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_go_test.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_googletest.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_gradle.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_jasmine.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_jest.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_karma.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_maven.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_minitest.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_nunit.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_playwright.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_prove.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_pytest.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_raw.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_robot.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_rspec.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_vitest.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_runners/test_xctest.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_testpath.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/test_version.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/utils/__init__.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/utils/test_authentication.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/utils/test_edit_distance.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/utils/test_fail_fast_mode.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/utils/test_file_name_pattern.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/utils/test_git_log_parser.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/utils/test_glob.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/utils/test_gzipgen.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/utils/test_http_client.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/utils/test_link.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/utils/test_logger.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/utils/test_typer.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tests/utils/test_typer_types.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tools/README.md +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/tools/generate_reference.py +0 -0
- {smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/uv.lock +0 -0
|
@@ -169,16 +169,20 @@ class CommonRecordTestImpls:
|
|
|
169
169
|
source_roots: Annotated[list[str], typer.Argument(
|
|
170
170
|
multiple=True,
|
|
171
171
|
help="Source directories containing test report files"
|
|
172
|
-
)]
|
|
172
|
+
)],
|
|
173
|
+
file_path_attribute: Annotated[list[str], typer.Option(
|
|
174
|
+
"--file-path-attribute",
|
|
175
|
+
multiple=True,
|
|
176
|
+
help="Attributes to look for file paths in test reports (e.g., name, classname, file, filepath)"
|
|
177
|
+
)] = ["file", "filepath"]):
|
|
173
178
|
def path_builder(
|
|
174
179
|
case: TestCase, suite: TestSuite, report_file: str
|
|
175
180
|
) -> TestPath:
|
|
176
181
|
def find_filename():
|
|
177
182
|
"""look for what looks like file names from test reports"""
|
|
178
183
|
for e in [case, suite]:
|
|
179
|
-
for a in
|
|
180
|
-
filepath
|
|
181
|
-
if filepath:
|
|
184
|
+
for a in file_path_attribute:
|
|
185
|
+
if filepath := e._elem.attrib.get(a):
|
|
182
186
|
return filepath
|
|
183
187
|
return None # failing to find a test name
|
|
184
188
|
|
|
@@ -188,9 +192,9 @@ class CommonRecordTestImpls:
|
|
|
188
192
|
|
|
189
193
|
# default test path in `subset` expects to have this file name
|
|
190
194
|
test_path = [client.make_file_path_component(filepath)]
|
|
191
|
-
if suite.name:
|
|
195
|
+
if suite.name and suite.name != filepath:
|
|
192
196
|
test_path.append({"type": "testsuite", "name": suite.name})
|
|
193
|
-
if case.name:
|
|
197
|
+
if case.name and case.name != filepath:
|
|
194
198
|
test_path.append({"type": "testcase", "name": case.name})
|
|
195
199
|
return test_path
|
|
196
200
|
|
|
@@ -30,9 +30,23 @@ class SessionId:
|
|
|
30
30
|
'''This is the method in which we parse the user input, so be defensive'''
|
|
31
31
|
if id.startswith('@'):
|
|
32
32
|
file_path = id[1:]
|
|
33
|
+
# Earlier versions of PowerShell write Unicode BOM when redirecting output to a file.
|
|
34
|
+
# https://github.com/PowerShell/PowerShell/issues/8592
|
|
35
|
+
# Since we tell people to redirect `record session` output to a file, here we can
|
|
36
|
+
# encounter such files. Here's the scheme to cope with this.
|
|
37
|
+
#
|
|
38
|
+
# First we try utf-8-sig, which handles UTF-8 BOM correctly.
|
|
39
|
+
# our session ID only uses ASCII chars, so unless the writer used non ascii compatible encoding
|
|
40
|
+
# (e.g., EBCDIC but those are very very unlikely), this will read the file correctly.
|
|
41
|
+
# If the writer used UTF-16 (e.g., legacy PowerShell on Windows), we'll get a decode error, and
|
|
42
|
+
# then we try UTF-16, which handles BOM correctly.
|
|
33
43
|
try:
|
|
34
|
-
|
|
35
|
-
|
|
44
|
+
try:
|
|
45
|
+
with open(file_path, 'r', encoding='utf-8-sig') as f:
|
|
46
|
+
id = f.read().strip()
|
|
47
|
+
except UnicodeDecodeError:
|
|
48
|
+
with open(file_path, 'r', encoding='utf-16') as f:
|
|
49
|
+
id = f.read().strip()
|
|
36
50
|
except FileNotFoundError:
|
|
37
51
|
raise BadCmdLineException(f"Session file '{file_path}' not found.")
|
|
38
52
|
except IOError as e:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
.bazelrc
|
|
2
2
|
.bazelversion
|
|
3
|
+
.dockerignore
|
|
3
4
|
.editorconfig
|
|
4
5
|
.gitignore
|
|
5
6
|
.pre-commit-config.yaml
|
|
@@ -264,6 +265,10 @@ tests/data/cypress/subset_result.json
|
|
|
264
265
|
tests/data/cypress/test-result.xml
|
|
265
266
|
tests/data/dotnet/record_test_result.json
|
|
266
267
|
tests/data/dotnet/test-result.xml
|
|
268
|
+
tests/data/file/record_test_result.json
|
|
269
|
+
tests/data/file/record_test_result_custom_attribute.json
|
|
270
|
+
tests/data/file/result.xml
|
|
271
|
+
tests/data/file/result_custom_attribute.xml
|
|
267
272
|
tests/data/flutter/record_test_result.json
|
|
268
273
|
tests/data/flutter/report.json
|
|
269
274
|
tests/data/git_log_ingest/sample.out
|
|
@@ -379,6 +384,7 @@ tests/test_runners/test_cts.py
|
|
|
379
384
|
tests/test_runners/test_cucumber.py
|
|
380
385
|
tests/test_runners/test_cypress.py
|
|
381
386
|
tests/test_runners/test_dotnet.py
|
|
387
|
+
tests/test_runners/test_file.py
|
|
382
388
|
tests/test_runners/test_go_test.py
|
|
383
389
|
tests/test_runners/test_googletest.py
|
|
384
390
|
tests/test_runners/test_gradle.py
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"events": [
|
|
3
|
+
{
|
|
4
|
+
"type": "case",
|
|
5
|
+
"testPath": [
|
|
6
|
+
{
|
|
7
|
+
"type": "file",
|
|
8
|
+
"name": "tests/test_example.py"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"type": "testsuite",
|
|
12
|
+
"name": "Suite 1"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "testcase",
|
|
16
|
+
"name": "test_case_1"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"duration": 0.5,
|
|
20
|
+
"status": 1,
|
|
21
|
+
"stdout": "",
|
|
22
|
+
"stderr": "",
|
|
23
|
+
"data": null
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"type": "case",
|
|
27
|
+
"testPath": [
|
|
28
|
+
{
|
|
29
|
+
"type": "file",
|
|
30
|
+
"name": "tests/test_example.py"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "testsuite",
|
|
34
|
+
"name": "Suite 1"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"type": "testcase",
|
|
38
|
+
"name": "test_case_2"
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"duration": 0.734,
|
|
42
|
+
"status": 1,
|
|
43
|
+
"stdout": "",
|
|
44
|
+
"stderr": "",
|
|
45
|
+
"data": null
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
"testRunner": "file",
|
|
49
|
+
"group": "",
|
|
50
|
+
"noBuild": false,
|
|
51
|
+
"flavors": [],
|
|
52
|
+
"testSuite": ""
|
|
53
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"events": [
|
|
3
|
+
{
|
|
4
|
+
"type": "case",
|
|
5
|
+
"testPath": [
|
|
6
|
+
{
|
|
7
|
+
"type": "file",
|
|
8
|
+
"name": "tests/test_custom.py"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"type": "testsuite",
|
|
12
|
+
"name": "Suite 1"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"duration": 0.5,
|
|
16
|
+
"status": 1,
|
|
17
|
+
"stdout": "",
|
|
18
|
+
"stderr": "",
|
|
19
|
+
"data": null
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"type": "case",
|
|
23
|
+
"testPath": [
|
|
24
|
+
{
|
|
25
|
+
"type": "file",
|
|
26
|
+
"name": "tests/test_custom2.py"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"type": "testsuite",
|
|
30
|
+
"name": "Suite 1"
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
"duration": 0.734,
|
|
34
|
+
"status": 1,
|
|
35
|
+
"stdout": "",
|
|
36
|
+
"stderr": "",
|
|
37
|
+
"data": null
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"testRunner": "file",
|
|
41
|
+
"group": "",
|
|
42
|
+
"noBuild": false,
|
|
43
|
+
"flavors": [],
|
|
44
|
+
"testSuite": ""
|
|
45
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<testsuites name="Test Suite" time="1.234" tests="2" failures="0">
|
|
3
|
+
<testsuite name="Suite 1" timestamp="2025-10-27T01:20:06" tests="2" file="tests/test_example.py" time="1.234" failures="0">
|
|
4
|
+
<testcase name="test_case_1" time="0.500" classname="TestExample">
|
|
5
|
+
</testcase>
|
|
6
|
+
<testcase name="test_case_2" time="0.734" classname="TestExample">
|
|
7
|
+
</testcase>
|
|
8
|
+
</testsuite>
|
|
9
|
+
</testsuites>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<testsuites name="Test Suite" time="1.234" tests="2" failures="0">
|
|
3
|
+
<testsuite name="Suite 1" timestamp="2025-10-27T01:20:06" tests="2" time="1.234" failures="0">
|
|
4
|
+
<testcase time="0.500" name="tests/test_custom.py">
|
|
5
|
+
</testcase>
|
|
6
|
+
<testcase time="0.734" name="tests/test_custom2.py">
|
|
7
|
+
</testcase>
|
|
8
|
+
</testsuite>
|
|
9
|
+
</testsuites>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import os
|
|
2
|
+
from unittest import mock
|
|
3
|
+
|
|
4
|
+
import responses # type: ignore
|
|
5
|
+
|
|
6
|
+
from tests.cli_test_case import CliTestCase
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class FileTest(CliTestCase):
|
|
10
|
+
@responses.activate
|
|
11
|
+
@mock.patch.dict(os.environ, {"SMART_TESTS_TOKEN": CliTestCase.smart_tests_token})
|
|
12
|
+
def test_record_test_file(self):
|
|
13
|
+
result = self.cli(
|
|
14
|
+
"record",
|
|
15
|
+
"tests",
|
|
16
|
+
"--session",
|
|
17
|
+
self.session,
|
|
18
|
+
"file",
|
|
19
|
+
str(self.test_files_dir.joinpath("result.xml")),
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
self.assert_success(result)
|
|
23
|
+
self.assert_record_tests_payload("record_test_result.json")
|
|
24
|
+
|
|
25
|
+
@responses.activate
|
|
26
|
+
@mock.patch.dict(os.environ, {"SMART_TESTS_TOKEN": CliTestCase.smart_tests_token})
|
|
27
|
+
def test_record_test_file_with_custom_file_path_attribute(self):
|
|
28
|
+
"""Test that --file-path-attribute option allows specifying custom attributes"""
|
|
29
|
+
result = self.cli(
|
|
30
|
+
"record",
|
|
31
|
+
"tests",
|
|
32
|
+
"--session",
|
|
33
|
+
self.session,
|
|
34
|
+
"file",
|
|
35
|
+
"--file-path-attribute",
|
|
36
|
+
"name",
|
|
37
|
+
str(self.test_files_dir.joinpath("result_custom_attribute.xml")),
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
self.assert_success(result)
|
|
41
|
+
self.assert_record_tests_payload("record_test_result_custom_attribute.json")
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import tempfile
|
|
3
|
+
from unittest import mock
|
|
4
|
+
|
|
5
|
+
import responses
|
|
6
|
+
|
|
7
|
+
from smart_tests.utils.http_client import get_base_url
|
|
8
|
+
from smart_tests.utils.session import SessionId, TestSession, get_session
|
|
9
|
+
from smart_tests.utils.smart_tests_client import SmartTestsClient
|
|
10
|
+
from tests.cli_test_case import CliTestCase
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class TestTestSession(CliTestCase):
|
|
14
|
+
@mock.patch.dict(os.environ, {"SMART_TESTS_TOKEN": CliTestCase.smart_tests_token})
|
|
15
|
+
@responses.activate
|
|
16
|
+
def test_get_session(self):
|
|
17
|
+
client = SmartTestsClient(base_url=get_base_url())
|
|
18
|
+
responses.replace(
|
|
19
|
+
responses.GET,
|
|
20
|
+
f"{get_base_url()}/intake/organizations/{self.organization}/workspaces/{self.workspace}"
|
|
21
|
+
f"/builds/{self.build_name}/test_sessions/{self.session_id}",
|
|
22
|
+
json={
|
|
23
|
+
'id': self.session_id,
|
|
24
|
+
'buildId': 456,
|
|
25
|
+
'buildNumber': self.build_name,
|
|
26
|
+
'isObservation': True,
|
|
27
|
+
'name': 'dummy-name',
|
|
28
|
+
},
|
|
29
|
+
status=200)
|
|
30
|
+
|
|
31
|
+
test_session = get_session(SessionId(self.session), client)
|
|
32
|
+
self.assertEqual(test_session, TestSession(
|
|
33
|
+
id=self.session_id,
|
|
34
|
+
build_id=456,
|
|
35
|
+
build_name=self.build_name,
|
|
36
|
+
observation_mode=True,
|
|
37
|
+
name='dummy-name'))
|
|
38
|
+
|
|
39
|
+
# not found test session case
|
|
40
|
+
responses.replace(
|
|
41
|
+
responses.GET,
|
|
42
|
+
f"{get_base_url()}/intake/organizations/{self.organization}/workspaces/{self.workspace}"
|
|
43
|
+
f"/builds/{self.build_name}/test_sessions/{self.session_id}",
|
|
44
|
+
json={},
|
|
45
|
+
status=404)
|
|
46
|
+
|
|
47
|
+
with self.assertRaises(SystemExit) as cm:
|
|
48
|
+
get_session(SessionId(self.session), client)
|
|
49
|
+
self.assertEqual(cm.exception.code, 1)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class TestSessionId(CliTestCase):
|
|
53
|
+
"""Test SessionId initialization and file reading with various encodings"""
|
|
54
|
+
|
|
55
|
+
def setUp(self):
|
|
56
|
+
super().setUp()
|
|
57
|
+
# A valid session ID for testing
|
|
58
|
+
self.valid_session_id = f"builds/{self.build_name}/test_sessions/{self.session_id}"
|
|
59
|
+
|
|
60
|
+
def _assert_session_from_file(self, encoding: str, content: str):
|
|
61
|
+
"""Helper method to test reading session ID from a file with specific encoding"""
|
|
62
|
+
with tempfile.NamedTemporaryFile(mode='w', encoding=encoding, delete=False, suffix='.txt') as f:
|
|
63
|
+
f.write(content)
|
|
64
|
+
temp_path = f.name
|
|
65
|
+
|
|
66
|
+
try:
|
|
67
|
+
session = SessionId(f"@{temp_path}")
|
|
68
|
+
self.assertEqual(str(session), self.valid_session_id)
|
|
69
|
+
self.assertEqual(session.build_part, self.build_name)
|
|
70
|
+
self.assertEqual(session.test_part, self.session_id)
|
|
71
|
+
finally:
|
|
72
|
+
os.unlink(temp_path)
|
|
73
|
+
|
|
74
|
+
def test_session_id_from_utf8_file_without_bom(self):
|
|
75
|
+
"""Test reading session ID from a UTF-8 file without BOM"""
|
|
76
|
+
# also, extra NL
|
|
77
|
+
self._assert_session_from_file('utf-8', f"{self.valid_session_id}\n")
|
|
78
|
+
|
|
79
|
+
def test_session_id_from_utf8_file_with_bom(self):
|
|
80
|
+
"""Test reading session ID from a UTF-8 file with BOM (UTF-8 signature)"""
|
|
81
|
+
self._assert_session_from_file('utf-8-sig', self.valid_session_id)
|
|
82
|
+
|
|
83
|
+
def test_session_id_from_utf16_le_file(self):
|
|
84
|
+
"""Test reading session ID from a UTF-16 LE file with BOM (PowerShell default on Windows)"""
|
|
85
|
+
self._assert_session_from_file('utf-16-le', f'\ufeff{self.valid_session_id}')
|
|
86
|
+
|
|
87
|
+
def test_session_id_from_utf16_file(self):
|
|
88
|
+
"""Test reading session ID from a UTF-16 file with BOM (using utf-16 encoding)"""
|
|
89
|
+
self._assert_session_from_file('utf-16', self.valid_session_id)
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
from unittest import mock
|
|
3
|
-
|
|
4
|
-
import responses
|
|
5
|
-
|
|
6
|
-
from smart_tests.utils.http_client import get_base_url
|
|
7
|
-
from smart_tests.utils.session import SessionId, TestSession, get_session
|
|
8
|
-
from smart_tests.utils.smart_tests_client import SmartTestsClient
|
|
9
|
-
from tests.cli_test_case import CliTestCase
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class TestTestSession(CliTestCase):
|
|
13
|
-
@mock.patch.dict(os.environ, {"SMART_TESTS_TOKEN": CliTestCase.smart_tests_token})
|
|
14
|
-
@responses.activate
|
|
15
|
-
def test_get_session(self):
|
|
16
|
-
client = SmartTestsClient(base_url=get_base_url())
|
|
17
|
-
responses.replace(
|
|
18
|
-
responses.GET,
|
|
19
|
-
f"{get_base_url()}/intake/organizations/{self.organization}/workspaces/{self.workspace}"
|
|
20
|
-
f"/builds/{self.build_name}/test_sessions/{self.session_id}",
|
|
21
|
-
json={
|
|
22
|
-
'id': self.session_id,
|
|
23
|
-
'buildId': 456,
|
|
24
|
-
'buildNumber': self.build_name,
|
|
25
|
-
'isObservation': True,
|
|
26
|
-
'name': 'dummy-name',
|
|
27
|
-
},
|
|
28
|
-
status=200)
|
|
29
|
-
|
|
30
|
-
test_session = get_session(SessionId(self.session), client)
|
|
31
|
-
self.assertEqual(test_session, TestSession(
|
|
32
|
-
id=self.session_id,
|
|
33
|
-
build_id=456,
|
|
34
|
-
build_name=self.build_name,
|
|
35
|
-
observation_mode=True,
|
|
36
|
-
name='dummy-name'))
|
|
37
|
-
|
|
38
|
-
# not found test session case
|
|
39
|
-
responses.replace(
|
|
40
|
-
responses.GET,
|
|
41
|
-
f"{get_base_url()}/intake/organizations/{self.organization}/workspaces/{self.workspace}"
|
|
42
|
-
f"/builds/{self.build_name}/test_sessions/{self.session_id}",
|
|
43
|
-
json={},
|
|
44
|
-
status=404)
|
|
45
|
-
|
|
46
|
-
with self.assertRaises(SystemExit) as cm:
|
|
47
|
-
get_session(SessionId(self.session), client)
|
|
48
|
-
self.assertEqual(cm.exception.code, 1)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{smart_tests_cli-2.4.0 → smart_tests_cli-2.4.2}/.github/workflows/update_maven_install_json.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|