Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Summary: Adding a script for post-processing test results and generating JSON-based result files. Report format example: { "total_errors": 0, "total_skipped": 296, "total_failures": 1, "total_test_instances": 4086, "total_tests_run": 4062, "build_root": "build/asan-clang-dynamic-enterprise-ninja", "aggregation_errors": [], "compiler_type": "clang", "build_type": "asan", "tests": [ { "language": "java", "class_name": "org.yb.cql.TestSelect", "junit_xml_path": "java/yb-cql/target/...", "time": 12.804, "log_path": "java/yb-cql/target/...", "test_name": "testQualifiedColumnReference" }, ... ] } In these reports we can capture more information, such as paths to multiple types of per-test log files, than we could in JUnit-compatible XML test result files. Also we now correctly count skipped C++ tests, which are reported in a different way by the gtest framework (using `"status": "notrun"`) compared to the way skipped tests are reported in Java. Other test framework improvements: - Re-run Java tests with "Address already in use" and a couple more test patterns in the log (at most once). We already do this for C++ tests. - Adding an `YB_DEBUG_VIRTUALENV` environment variable for debugging virtualenv-related behavior. - Simplifying the logic for picking TEST_TMPDIR. Now it is always in `/tmp`. - Removing the old code for symbolizing C++ stack traces in the log which we don't use anyway, and which does not work for external mini-cluster tests. - Add a timeout in `update_test_result_xml.py`, because that script used to get stuck for hours in some cases on macOS. - Pick bind IPs on macOS in Java tests based on the actual list of available loopback interfaces, not assuming a specific range of pre-created interfaces. YSQL-specific test improvements: - Create a new flag `pg_yb_session_timeout_ms` and set it to 120 seconds by default on macOS (60 seconds otherwise). Refactoring: - Renaming test framework functions specific to C++ so that their name clearly states that. Test Plan: Jenkins Reviewers: bogdan, sergei, timur, bharat Reviewed By: bharat Subscribers: ybase Differential Revision: https://phabricator.dev.yugabyte.com/D6343
- Loading branch information