-
-
Notifications
You must be signed in to change notification settings - Fork 314
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
jcstress is missing some 234 new targets after update from 2022 to 2024 #5278
Comments
Actually there may be more. Does anybody recall against what, and under what conditions the https://github.com/adoptium/aqa-tests/blob/master/system/jcstress/playlist.xml was created? I can not find |
|
Actually a lot of targets was not run also in original setup. This is (a bit shortened) diff of all targets in 2022 suite, and of targets executed by playlist: (I'm not sure how to interpret the + parts.. have not ofund a cllue when running them)
Any idea what was the original list composed on? |
So maybe the playlist should be regenerated for 2024 and the generator should be pushed so it can be reused during next update? |
The original playlist was generated by @jabrena using tools from https://github.com/jabrena/aqa-tests-experiments/ Let's reconnect with @jabrena and generate a fresh jcstress list (and consider where we house playlist generators at the project for future needs. |
Thanx! That gave sense:
It reads only java Filenames with
which moreover fits whats in the playlist. If we go by similar approach which was taken, but use what |
Hi, tomorrow, I will review previous development to regenerate the playlist.xml |
Heloo! thanx a lot!
Are you going to use only the |
Hi @judovana & @smlambert, I updated a bit repo to refresh the concepts. I have just updated jcstress submodule and the playlist generated is exactly the same file so, I suspect that the improvements comes from another modules in JCStress from 2022 -> 2024. In the review process, I observed in the template: <test>
<testCaseName>jcstress_PARAM</testCaseName>
<command>$(JAVA_COMMAND) $(JVM_OPTIONS) -jar $(Q)$(LIB_DIR)$(D)jcstress-tests-all-20220908.jar$(Q) $(APPLICATION_OPTIONS) -t PARAM; \
$(TEST_STATUS)</command>
<levels>
<level>dev</level>
</levels>
<groups>
<group>system</group>
</groups>
</test> that we need to know what jar, we are going to use in
Maybe that question is for @smlambert In relation to the idea to increase the scope, if @smlambert is Ok, I will explore how to add all tests from other modules, but it is something that we need to review and decide what modules to add, maybe it could be related to this jar: Happy to return and help :) Juan Antonio |
...
20240222 may be the last version which will be usabel for both jdk8 and jdk21. Soon the byteocde limit will be hit. I was thinking to embed this logic to similar ant target as As that is already merged, I think the
Before you come back to life, I wanted to run
But as this, the groups ar enot balanced. Some will run minute, some 10or more minutes. So it would be nice to concate to small groups. But I bet you will come with better idea.
Hello !-) |
Small nit, whatever generator you come with, it should go into https://github.com/adoptium/aqa-tests/tree/master/system/jcstress directory |
Not necessarily. We can consider creating a new repo under the adoptium GH organization to import the generator code from https://github.com/jabrena/aqa-tests-experiments/ into, call it playlist-generators (as we have other code that falls into this category). Will add it as a topic for committer discussion in next week's AQAvit call to decide where to put it. |
Also, I think the playlist entry should not reference the jcstress jar name explicitly, but rather a variable that is defined in system.mk, in that way it is cleaner to update when needed and allows for more flexibility (to reference different versions depending on factors like JDK_VERSION, etc). |
Not sure how that works, but would solve most of the issues. TY! |
s/append/replace/ Just my 0.02$ Bu I may be nit picking. TY! |
How many playlists are actually generated? If just really literally handful, then maybe the location theirs PWD may be better. If they multiplay, the custom repo would be awesome. ty! |
Hi @smlambert, The idea to create the new repo is awesome. Currently the generator is based on JBang, I will try to convert into a maven project this week. In relation to the notes from @judovana, I will review all modules to identify where is pending and later I will test to add it. Juan antonio |
Hi, I have just updated the repo with the maven evolution: Reviewing final List<String> paths = List.of(
"./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests",
"./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples"
); The new playlist generated from jcstress updated plus the new path: In the another hand, I have created a XML test to validate the playlist itself: Based on the schema: If you like the results, I can send a PR to: Juan Antonio If you observe, exist multiple false positives if you apply to the path: final List<String> paths = List.of("./jcstress"); [INFO] --- exec:3.2.0:java (execution1) @ playlist-generators ---
_ ___ _ _____ _
/ \ / _ \ / \ |_ _|__ ___| |_ ___
/ _ \| | | | / _ \ _____ | |/ _ \/ __| __/ __|
/ ___ \ |_| | / ___ \ |_____| | | __/\__ \ |_\__ \
/_/ \_\__\_\/_/ \_\ |_|\___||___/\__|___/
// False positives
./jcstress/jcstress-test-gen/src/main/resources/init/X-ArrayInitClassTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/init/X-ArrayLargeInitLengthTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/init/X-FieldInitTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/init/X-ArrayInitTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/init/X-ArrayLargeInitClassTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/init/X-ArrayInitLengthTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/init/X-ArrayLargeInitTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/init/X-FieldInitClassTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/fences/X-StoreLoadFenceTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/fences/X-LoadStoreFenceTest1.java.template
./jcstress/jcstress-test-gen/src/main/resources/fences/X-StoreStoreFenceTest2.java.template
./jcstress/jcstress-test-gen/src/main/resources/fences/X-StoreStoreFenceTest1.java.template
./jcstress/jcstress-test-gen/src/main/resources/fences/X-LoadStoreFenceTest2.java.template
./jcstress/jcstress-test-gen/src/main/resources/fences/X-LoadLoadFenceTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/defaultValues/X-ArrayDefaultValuesTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/defaultValues/X-ArrayLargeDefaultValuesTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/defaultValues/X-FieldDefaultValuesTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/acqrel/X-VarHandleByteArrayViewAcqRelTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/acqrel/X-VarHandleHeapByteBufferViewAcqRelTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/acqrel/X-FieldAcqRelTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/acqrel/X-VarHandleFieldAcqRelTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/acqrel/X-VarHandleDirectByteBufferViewAcqRelTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/acqrel/X-VarHandleArrayAcqRelTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/tearing/X-FieldTearingTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/tearing/X-ArrayTearingTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/tearing/X-ArrayLargeTearingTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/coherence/X-VarHandleFieldCoherenceTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/coherence/X-VarHandleHeapByteBufferViewCoherenceTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/coherence/X-VarHandleByteArrayViewCoherenceTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/coherence/X-FieldCoherenceTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/coherence/X-ArrayCoherenceTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/coherence/X-VarHandleDirectByteBufferViewCoherenceTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/coherence/X-VarHandleArrayCoherenceTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/copy/objects/X-Manual.java.template
./jcstress/jcstress-test-gen/src/main/resources/copy/objects/X-Clone.java.template
./jcstress/jcstress-test-gen/src/main/resources/copy/arrays/X-LargeArraysCopyOf.java.template
./jcstress/jcstress-test-gen/src/main/resources/copy/arrays/X-LargeClone.java.template
./jcstress/jcstress-test-gen/src/main/resources/copy/arrays/X-Manual.java.template
./jcstress/jcstress-test-gen/src/main/resources/copy/arrays/X-LargeArraycopy.java.template
./jcstress/jcstress-test-gen/src/main/resources/copy/arrays/X-Clone.java.template
./jcstress/jcstress-test-gen/src/main/resources/copy/arrays/X-LargeManual.java.template
./jcstress/jcstress-test-gen/src/main/resources/copy/arrays/X-ArraysCopyOf.java.template
./jcstress/jcstress-test-gen/src/main/resources/copy/arrays/X-Arraycopy.java.template
./jcstress/jcstress-test-gen/src/main/resources/accessAtomic/X-VarHandleHeapByteBufferViewAtomicityTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/accessAtomic/X-FieldAtomicityTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/accessAtomic/X-VarHandleByteArrayViewAtomicityTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/accessAtomic/X-VarHandleFieldAtomicityTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/accessAtomic/X-VarHandleArrayAtomicityTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/accessAtomic/X-VarHandleDirectByteBufferViewAtomicityTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/accessAtomic/X-ArrayCopyConflictAtomicityTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/accessAtomic/X-ArrayAtomicityTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/accessAtomic/X-ArrayCopyDstAtomicityTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/accessAtomic/X-ArrayCopySrcAtomicityTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/accessAtomic/X-FieldConflictAtomicityTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/byteBuffer/X-CASTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/byteBuffer/X-WeakCASTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/byteBuffer/X-GetAndSetTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/byteBuffer/X-GetAndAddTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/byteBuffer/X-WeakCASContendStrongTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/byteBuffer/X-CAETest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/byteArray/X-CASTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/byteArray/X-WeakCASTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/byteArray/X-GetAndSetTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/byteArray/X-GetAndAddTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/byteArray/X-WeakCASContendStrongTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/byteArray/X-CAETest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/arrays/X-CASTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/arrays/X-WeakCASTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/arrays/X-GetAndSetTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/arrays/X-GetAndAddTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/arrays/X-WeakCASContendStrongTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/arrays/X-CAETest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/fields/X-CASTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/fields/X-WeakCASTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/fields/X-GetAndSetTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/fields/X-GetAndAddTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/fields/X-WeakCASContendStrongTest.java.template
./jcstress/jcstress-test-gen/src/main/resources/operationAtomic/fields/X-CAETest.java.template
./jcstress/jcstress-test-gen/src/main/java/org/openjdk/jcstress/generator/TestGenerator.java
./jcstress/jcstress-test-gen/src/main/java/org/openjdk/jcstress/generator/seqcst/SeqCstTraceGenerator.java
// Good cases
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/advanced/AdvancedJMM_06_SemiSynchronized.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/advanced/AdvancedJMM_07_SemiVolatile.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/advanced/AdvancedJMM_13_VolatileVsFinal.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/advanced/AdvancedJMM_01_SynchronizedBarriers.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/advanced/AdvancedJMM_10_WrongListReleaseOrder.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/advanced/AdvancedJMM_02_MultiCopyAtomic.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/advanced/AdvancedJMM_09_WrongReleaseOrder.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/advanced/AdvancedJMM_15_VolatilesAreNotFences.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/advanced/AdvancedJMM_03_NonMCA_Coherence.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/advanced/AdvancedJMM_05_MisplacedVolatile.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/advanced/AdvancedJMM_11_WrongAcquireOrder.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/advanced/AdvancedJMM_12_WrongAcquireReleaseOrder.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/advanced/AdvancedJMM_14_SynchronizedAreNotFences.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/advanced/AdvancedJMM_08_ArrayVolatility.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/advanced/AdvancedJMM_04_LosingUpdates.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/basic/BasicJMM_06_Causality.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/basic/BasicJMM_02_AccessAtomicity.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/basic/BasicJMM_09_BenignRaces.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/basic/BasicJMM_05_Coherence.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/basic/BasicJMM_07_Consensus.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/basic/BasicJMM_04_Progress.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/basic/BasicJMM_10_OOTA.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/basic/BasicJMM_01_DataRaces.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/basic/BasicJMM_08_Finals.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/jmm/basic/BasicJMM_03_WordTearing.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/problems/classic/Classic_01_DiningPhilosophers.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/problems/classic/Classic_02_ProducerConsumerProblem.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/problems/racecondition/RaceCondition_02_CheckThenReact.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/problems/racecondition/RaceCondition_01_RMW.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/primitives/library/Library_01_CHM.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/primitives/rmw/RMW_04_ConflictCoherence.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/primitives/rmw/RMW_07_AcquireOnFailure.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/primitives/rmw/RMW_02_ContendedSuccess.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/primitives/rmw/RMW_10_FailureWitness.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/primitives/rmw/RMW_11_FailureWitnessRWL.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/primitives/rmw/RMW_01_UncontendedSuccess.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/primitives/rmw/RMW_06_ReleaseOnSuccess.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/primitives/rmw/RMW_09_GAS_Effects.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/primitives/rmw/RMW_03_ConflictSameValue.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/primitives/rmw/RMW_12_FailureWitnessLoops.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/primitives/rmw/RMW_05_AcquireOnSuccess.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/primitives/rmw/RMW_08_ReleaseOnFailure.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/primitives/mutex/Mutex_02_DekkerAlgorithm.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/primitives/mutex/Mutex_03_SpinLock.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/primitives/mutex/Mutex_05_ReentrantLock.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/primitives/mutex/Mutex_04_Synchronized.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/primitives/mutex/Mutex_06_Semaphore.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/primitives/mutex/Mutex_01_PetersonAlgorithm.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/api/API_06_Descriptions.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/api/API_05_SharedMetadata.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/api/API_02_Arbiters.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/api/API_01_Simple.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/api/API_03_Termination.java
./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples/api/API_04_Nesting.java
// False positives
./jcstress/jcstress-benchmarks/src/main/java/org/openjdk/jcstress/SampleTest.java
./jcstress/jcstress-java-test-archetype/src/main/resources/archetype-resources/src/main/java/ConcurrencyTest.java
// Good cases
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/BooleanFencedTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/IntFencedTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/ByteFencedTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/FloatFencedTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/LongFencedTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/DoubleFencedTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/ShortFencedTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/init/primitives/fenced/CharFencedTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/locks/barriers/SyncBarrier2Test.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/locks/barriers/SyncBarrier3Test.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/locks/barriers/SyncBarrier1Test.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/locks/barriers/SyncBarrier0Test.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/locks/mutex/ReentrantRWLockMutexTests.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/locks/mutex/SynchronizedMutexPoolTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/locks/mutex/ReentrantLockMutexTests.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/locks/mutex/SynchronizedMutexTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/locks/stamped/StampedLockPairwiseTests.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/locks/stamped/StampedLockTransitionTests.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/mxbeans/ThreadMXBeanAlloc.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/fences/UnfencedReadTwiceTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/fences/FencedDekkerTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/fences/FencedAcquireReleaseTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/fences/UnfencedDekkerTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/fences/FencedReadTwiceTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/fences/UnfencedAcquireReleaseTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/fences/UnfencedPublicationTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/fences/FencedPublicationTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/singletons/UnsafeLocalDCL.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/singletons/UnsafeDCL.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/singletons/Holder.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/singletons/SynchronizedCL.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/singletons/SafeDCL.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/singletons/FinalWrapper.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/singletons/SafeLocalDCL.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/volatiles/ScalarReplacedVolatileBarrierTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/volatiles/PowerSCViolation.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/volatiles/ReadTwiceOverVolatileReadTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/volatiles/DoubleVolatileTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/volatiles/ObservedVolatileBarrierTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/volatiles/VolatileIncrementAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/volatiles/UnobservedVolatileBarrierTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/volatiles/VolatileIRIWTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/volatiles/LazySetTransitivityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/volatiles/DekkerTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/volatiles/RelaxedIRIWTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/volatiles/VolatileAcquireReleaseTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/volatiles/ReadAfterReadTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/volatiles/ReadAfterVolatileReadTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/volatiles/OpaqueIRIWTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/strings/StringBufferTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/strings/BigDecimalString.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/strings/StringBuilderTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/strings/StringBufferAppendTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/strings/BigIntegerStringLen.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/strings/BigDecimalStringLen.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/strings/BigIntegerString.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/threadlocal/ThreadLocalSharing.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/crosscache/ByteBufferIntAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/crosscache/DirectByteBufferIntAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/crosscache/UnsafeIntAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/buffers/CharBufferAtomicityTests.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/buffers/DoubleBufferAtomicityTests.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/buffers/ByteBufferAtomicityTests.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/buffers/FloatBufferAtomicityTests.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/buffers/LongBufferAtomicityTests.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/buffers/ByteBufferViewsAtomicityTests.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/buffers/ShortBufferAtomicityTests.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/buffers/DirectByteBufferAtomicityTests.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/buffers/IntBufferAtomicityTests.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/buffers/DirectByteBufferViewsAtomicityTests.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/perbyte/LongAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/perbyte/VolatileFloatAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/perbyte/FloatAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/perbyte/ByteAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/perbyte/CharAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/perbyte/VolatileDoubleAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/perbyte/DoubleAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/perbyte/IntAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/perbyte/ShortAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/perbyte/VolatileByteAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/perbyte/VolatileIntAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/perbyte/VolatileLongAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/perbyte/VolatileShortAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/perbyte/VolatileCharAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/reflect/LongAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/reflect/VolatileFloatAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/reflect/FloatAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/reflect/ByteAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/reflect/CharAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/reflect/VolatileDoubleAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/reflect/DoubleAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/reflect/IntAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/reflect/ShortAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/reflect/VolatileByteAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/reflect/VolatileIntAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/reflect/VolatileLongAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/reflect/VolatileShortAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomicity/primitives/reflect/VolatileCharAtomicityTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/interrupt/TimeUnitSleepTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/interrupt/VolatileBusyLoopTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/interrupt/CurrentThreadIsInterruptedMethodTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/interrupt/WeakReferenceTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/interrupt/ThreadInterruptedTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/interrupt/PlainBusyLoopTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/interrupt/ReentrantLockNonInterruptiblyTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/interrupt/CurrentThreadIsInterruptedTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/interrupt/ObjectWaitInfiniteTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/interrupt/ThreadInterruptedMethodTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/interrupt/ThreadSleepTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/interrupt/UnsafeBusyLoopTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/interrupt/CurrentThreadIsInterruptedBreakTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/interrupt/ThreadInterruptedBreakTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/interrupt/ReentrantLockInterruptiblyTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/interrupt/ObjectWaitTimedTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomics/booleans/AtomicBooleanPairwiseTests.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomics/booleans/AtomicBooleanInitialValueTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomics/integer/AtomicIntegerArrayPairwiseTests.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomics/integer/AtomicIntegerInitialValueTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomics/integer/AtomicIntegerArrayInitialValueTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomics/integer/AtomicIntegerPairwiseTests.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomics/integer/AtomicIntegerArrayInterleaveTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomics/integer/AtomicIntegerFieldUpdaterPairwiseTests.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomics/longs/AtomicLongArrayInterleaveTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomics/longs/AtomicLongArrayInitialValueTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomics/longs/AtomicLongPairwiseTests.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomics/longs/AtomicLongFieldUpdaterPairwiseTests.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomics/longs/AtomicLongInitialValueTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/atomics/longs/AtomicLongArrayPairwiseTests.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/tearing/buffers/ByteBufferInterleaveTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/tearing/buffers/DoubleBufferInterleaveTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/tearing/buffers/LongBufferInterleaveTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/tearing/buffers/FloatBufferInterleaveTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/tearing/buffers/CharBufferInterleaveTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/tearing/buffers/IntBufferInterleaveTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/tearing/buffers/DirectByteBufferInterleaveTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/tearing/buffers/ShortBufferInterleaveTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/tearing/ArrayInterleaveTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/tearing/UnsafeIntTearingTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/tearing/UnsafeArrayInterleaveTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/executors/ThreadPoolExecutorSizesTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/executors/ThreadPoolExecutorKeepAliveTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/unsafe/UnsafeAddLong1.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/unsafe/UnsafeReadTwiceOverVolatileReadTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/unsafe/UnsafePutOrderedTwice.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/unsafe/UnsafeAddLong42.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/unsafe/UnsafePublication.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/oota/Sevcik_01_Redundant_WAR_Elimination.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/oota/Sevcik_03_RoachMotel.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/oota/Sevcik_02_Redundant_RAR_Elimination.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/oota/Sevcik_04_IrrelevantRead.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/oota/Sevcik_05_IllegalTransform.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/sample/SampleTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/countdownlatch/racy/BoundedSingleTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/countdownlatch/racy/UnboundedSingleTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/countdownlatch/effects/StringBoundedTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/countdownlatch/effects/StringUnboundedTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/countdownlatch/effects/IntUnboundedTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/countdownlatch/effects/IntBoundedTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/countdownlatch/waits/BoundedSingleTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/countdownlatch/waits/UnboundedDoubleTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/countdownlatch/waits/BoundedDoubleTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/countdownlatch/waits/UnboundedSingleTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/collections/HashMapFailureTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/varhandles/DekkerRelaxation2Test.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/varhandles/DekkerTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/varhandles/DekkerRelaxation1Test.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/future/FutureTaskSetTest.java
./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests/future/ThreadNames.java
./jcstress/tests-custom/src/main/scratch/LongAtomicityTest.java
./jcstress/tests-custom/src/main/scratch/DoubleAtomicityTest.java
// False positives
./jcstress/tests-chapter-0d/src/main/java/org/openjdk/jcstress/tests/causality/Test11.java
./jcstress/tests-chapter-0d/src/main/java/org/openjdk/jcstress/tests/causality/Test3.java
./jcstress/tests-chapter-0d/src/main/java/org/openjdk/jcstress/tests/causality/Test2.java
./jcstress/tests-chapter-0d/src/main/java/org/openjdk/jcstress/tests/causality/Test10.java
./jcstress/tests-chapter-0d/src/main/java/org/openjdk/jcstress/tests/causality/Test9.java
./jcstress/tests-chapter-0d/src/main/java/org/openjdk/jcstress/tests/causality/Test17.java
./jcstress/tests-chapter-0d/src/main/java/org/openjdk/jcstress/tests/causality/Test5.java
./jcstress/tests-chapter-0d/src/main/java/org/openjdk/jcstress/tests/causality/Test4.java
./jcstress/tests-chapter-0d/src/main/java/org/openjdk/jcstress/tests/causality/Test16.java
./jcstress/tests-chapter-0d/src/main/java/org/openjdk/jcstress/tests/causality/Test8.java
./jcstress/tests-chapter-0d/src/main/java/org/openjdk/jcstress/tests/causality/Test7.java
./jcstress/tests-chapter-0d/src/main/java/org/openjdk/jcstress/tests/causality/Test15.java
./jcstress/tests-chapter-0d/src/main/java/org/openjdk/jcstress/tests/causality/Test14.java
./jcstress/tests-chapter-0d/src/main/java/org/openjdk/jcstress/tests/causality/Test6.java
./jcstress/tests-chapter-0d/src/main/java/org/openjdk/jcstress/tests/causality/Test18.java
./jcstress/tests-chapter-0d/src/main/java/org/openjdk/jcstress/tests/causality/Test1.java
./jcstress/tests-chapter-0d/src/main/java/org/openjdk/jcstress/tests/causality/Test13.java
./jcstress/tests-chapter-0d/src/main/java/org/openjdk/jcstress/tests/causality/Test12.java
playlist generated for jcstress tests. so, the safest configuration is: final List<String> paths = List.of(
"./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests",
"./jcstress/jcstress-samples/src/main/java/org/openjdk/jcstress/samples"
); |
hi! Cool. I still think that reading output of
I think. Sorry for confusion if I listed more samples above. |
and updated the test too: If everyone is happy, I will send the PR with the playlist upgraded: Juan Antonio |
I made small check, and I think the list do not contain generated scenarios.
Maybe more, it is hard to check. However it correctly contains eg: So I'm not sure.... Anyway I still think the only correct way to obtain the list is |
Or to parse classes in that jar. |
Hi @judovana, For the missing parts that you mention comes from:
If you search in the code:
You will find that that test comes from:
Juan Antonio |
I see.. Will you try to add them? Why do you stay so firmly against listing from binaries? |
You replied previously to maintain the original path but in my test I tested, review my previous comments: final List<String> paths = List.of(
"./jcstress/tests-custom/src/main/java/org/openjdk/jcstress/tests",
);
Because I feel confident with the current implementation, it worked in 2022, so... why not now :) Function<String, Stream<Path>> getFilesFromPath = param -> {
try {
return Files.walk(Paths.get(param));
} catch (IOException e) {
throw new RuntimeException(e.getLocalizedMessage(), e);
}
}; Files.walk javadoc:
|
...
I'm afraid it did not worked before. In that time I was checking why aqa-tests jcstress runs are so much faster then mine, but never get enough time to finish it. Now I can see that.
Of course it will travers all levels. But it will never cover whatever the build is doing. Really, just do a quick check. Take the regexes you generated for |
Hi @judovana, can you provide the jar for: |
You have jcstress sources. The 02022024 version is moreover the tip. So The upload to fedora people si very slow. Eta 30 minutes for now. Sorry. You would be faster by building it:) Tahts why I have added hashsums. Note, the https://github.com/judovana/ci-jenkins-pipelines/blob/moreJcStress/tools/code-tools/jcstress.sh will clone and build for you.... I'm terribly sorry to kidding so much to this work. I'm moreover still expecting you saying - *judovana, you are wrong, here we go. * Hope thats helpful on log run. |
I will review the output from this list with current implementation during the week. |
hi! I had drafted my version of generator: I'm not saying its better or worse, it is just doing some stuff differently:
Whatever we agree on going in, I hope will be better then both currently known versions! happy hacking, |
related to:
#5270 (comment)
#5270
#5261 - last bulet
Unless @Luigi96 is ok to do that, I will do that. oook?
The text was updated successfully, but these errors were encountered: