Hotspot also adds some extra flavours of GTests, those that run with no created VM (`TEST`/`TEST_F`), those that run with a shared created VM (`TEST_VM`/`TEST_VM_F`) and those that run in a private created VM (`TEST_OTHER_VM`/`TEST_VM_ASSERT`/`TEST_VM_ASSERT_MSG`/`TEST_VM_FATAL_ERROR_MSG`/`TEST_VM_CRASH_SIGNAL`).
The way this is implemented is by having the first shared VM test that runs create a VM. But this leads to having all proceeding test also have access to a shared VM, even if they are test that are supposed to be able to run without a created VM.
Combining this with the fact that almost all our automated GTest testing always just run all tests in the same order makes it hard to discover if we have dependencies between tests.
I propose we add three types of GTest invocation tests used to find these incorrect dependencies.
1. A test which runs only our no created VM test, to find if we have any VM dependency.
2. A test which runs only one test at a time, to see if there are any tests which depend on other test having been run.
3. A test which shuffles the order of our tests to see if there are any dependencies on the order of tests.
- relates to
-
JDK-8372242 Gtest LogTagSet.defaults should run in OTHER VM
-
- Open
-
-
JDK-8372243 ZGC: ZForwardingTest.find_every_other is mistaken for a other VM gtest
-
- Open
-
-
JDK-8372245 GTest globalDefinitions.format_specifiers cannot run without VM
-
- Open
-
-
JDK-8372246 LogOutputList gtests should not use LogConfiguration LogOutputs
-
- Open
-
-
JDK-8372247 OSX: Semaphore.trywait requires os::Bsd::clock_init
-
- Open
-
-
JDK-8372248 GTest istream.coverage depends on istream.basic
-
- Open
-
-
JDK-8372249 GTest os_linux.addr_to_function_valid cannot run without VM
-
- New
-
-
JDK-8372244 ZGC: Split ZTest into a VM and not VM test fixture
-
- Open
-
- links to
-
Review(master)
openjdk/jdk/28409