-
-
Notifications
You must be signed in to change notification settings - Fork 8.6k
[java] Speed up tests, improve test logging and build script #16843
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
|||||||||||||||||||
It should be strictly prohibited to ignore exceptions! At least log them. Or even better, fail the test.
… exist. We were wasting ~1.1 seconds PER TEST for re-running the same "bazel build" commands before every test.
Class `JavadocJarMaker` uses class `TemporaryFilesystem` which resides in module "//java/src/org/openqa/selenium/io".
b966e2e to
e742f96
Compare
User description
💥 What does this PR do?
Small improvements:
🔄 Types of changes
PR Type
Bug fix, Enhancement
Description
Speed up tests by skipping redundant bazel builds when target files exist
Improve logging with lazy evaluation and better error context
Fix browser quit exception handling with proper error logging
Fix build script bugs: correct bazel target and add missing dependency
Enhance test logging with full class names for better traceability
Diagram Walkthrough
File Walkthrough
JupiterTestBase.java
Add exception logging to appServer restart handlingjava/test/org/openqa/selenium/testing/JupiterTestBase.java
Levelfor structured loggingOutOfProcessSeleniumServer.java
Add proper exception logging for server startupjava/test/org/openqa/selenium/testing/drivers/OutOfProcessSeleniumServer.java
Levelfor structured loggingSeleniumExtension.java
Improve logging with lazy evaluation and better contextjava/test/org/openqa/selenium/testing/SeleniumExtension.java
Leveland@NonNullannotationdisplayName()helper method to include class name in test logsStaticResources.java
Skip redundant bazel builds when targets existjava/test/org/openqa/selenium/testing/StaticResources.java
copy()method to acceptRunnable buildparameterwebdriver_xpitowebdriver_jsonfor prefs fileExternalDriverSupplier.java
Improve error handling and logging clarityjava/test/org/openqa/selenium/testing/drivers/ExternalDriverSupplier.java
BUILD.bazel
Fix missing dependency for javadoc generatorjava/src/dev/selenium/tools/javadoc/BUILD.bazel
//java/src/org/openqa/selenium/osto//java/src/org/openqa/selenium/ioTemporaryFilesystemclass used byJavadocJarMakerBUILD.bazel
Add javadoc tool visibility to io modulejava/src/org/openqa/selenium/io/BUILD.bazel
//java/src/dev/selenium/tools/javadoc:__pkg__BUILD.bazel
Add jspecify dependency for annotationsjava/test/org/openqa/selenium/testing/BUILD.bazel
org.jspecify:jspecifyartifact dependency@NonNullannotation usage in test code