view tests-custom/src/main/resources/org/openjdk/jcstress/desc/locks-stamped.xml @ 66:d7f7a93800e4

Rewire the grading levels: introduce ACCEPTABLE_SPEC, remove REQUIRED, renames.
author shade
date Thu, 28 Nov 2013 19:10:32 +0400
parents dd797d922f1c
children 3005f400d517
line wrap: on
line source
<!--

    Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
    DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.

    This code is free software; you can redistribute it and/or modify it
    under the terms of the GNU General Public License version 2 only, as
    published by the Free Software Foundation.  Oracle designates this
    particular file as subject to the "Classpath" exception as provided
    by Oracle in the LICENSE file that accompanied this code.

    This code is distributed in the hope that it will be useful, but WITHOUT
    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    version 2 for more details (a copy is included in the LICENSE file that
    accompanied this code).

    You should have received a copy of the GNU General Public License version
    2 along with this work; if not, write to the Free Software Foundation,
    Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

    Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    or visit www.oracle.com if you need additional information or have any
    questions.

-->
<testsuite>

    <template name="atomicUpdate">
        <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
        <description>
            Tests if StampedLock successfully guards against non-atomic read/writes.
        </description>
        <case>
            <match>[0, 0]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                Seeing the default values.
            </description>
        </case>
        <case>
            <match>[1, 2]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                Seeing the complete update.
            </description>
        </case>
        <unmatched>
            <expect>FORBIDDEN</expect>
            <description>
                Other cases are not expected.
            </description>
        </unmatched>
    </template>

    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRL_U$aRWLw_U"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRL_U$aWL_U"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRL_U$tWL_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRL_U$tWL_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRL_U$tWL_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRL_U$tWLt_tUW" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRL_U$tWLt_Us"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRL_U$tWLt_UWs" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRL_U$WL_tUW"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRL_U$WL_Us"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRL_U$WL_UWs"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRL_U$WLI_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRL_U$WLI_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRL_U$WLI_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRL_U$orWL_V"  />

    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRWLr_U$aRWLw_U"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRWLr_U$aWL_U"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRWLr_U$tWL_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRWLr_U$tWL_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRWLr_U$tWL_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRWLr_U$tWLt_tUW" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRWLr_U$tWLt_Us"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRWLr_U$tWLt_UWs" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRWLr_U$WL_tUW"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRWLr_U$WL_Us"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRWLr_U$WL_UWs"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRWLr_U$WLI_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRWLr_U$WLI_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRWLr_U$WLI_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$aRWLr_U$orWL_V"  />

    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_URs$aRWLw_U"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_URs$aWL_U"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_URs$tWL_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_URs$tWL_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_URs$tWL_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_URs$tWLt_tUW" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_URs$tWLt_Us"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_URs$tWLt_UWs" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_URs$WL_tUW"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_URs$WL_Us"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_URs$WL_UWs"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_URs$WLI_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_URs$WLI_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_URs$WLI_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_URs$orWL_V"  />

    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_Us$aRWLw_U"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_Us$aWL_U"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_Us$tWL_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_Us$tWL_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_Us$tWL_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_Us$tWLt_tUW" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_Us$tWLt_Us"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_Us$tWLt_UWs" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_Us$WL_tUW"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_Us$WL_Us"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_Us$WL_UWs"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_Us$WLI_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_Us$WLI_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_Us$WLI_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_Us$orWL_V"  />

    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_tUR$aRWLw_U"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_tUR$aWL_U"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_tUR$tWL_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_tUR$tWL_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_tUR$tWL_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_tUR$tWLt_tUW" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_tUR$tWLt_Us"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_tUR$tWLt_UWs" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_tUR$WL_tUW"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_tUR$WL_Us"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_tUR$WL_UWs"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_tUR$WLI_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_tUR$WLI_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_tUR$WLI_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RL_tUR$orWL_V"  />

    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_URs$aRWLw_U"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_URs$aWL_U"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_URs$tWL_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_URs$tWL_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_URs$tWL_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_URs$tWLt_tUW" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_URs$tWLt_Us"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_URs$tWLt_UWs" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_URs$WL_tUW"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_URs$WL_Us"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_URs$WL_UWs"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_URs$WLI_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_URs$WLI_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_URs$WLI_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_URs$orWL_V"  />

    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_Us$aRWLw_U"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_Us$aWL_U"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_Us$tWL_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_Us$tWL_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_Us$tWL_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_Us$tWLt_tUW" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_Us$tWLt_Us"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_Us$tWLt_UWs" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_Us$WL_tUW"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_Us$WL_Us"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_Us$WL_UWs"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_Us$WLI_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_Us$WLI_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_Us$WLI_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_Us$orWL_V"  />

    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_tUR$aRWLw_U"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_tUR$aWL_U"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_tUR$tWL_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_tUR$tWL_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_tUR$tWL_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_tUR$tWLt_tUW" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_tUR$tWLt_Us"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_tUR$tWLt_UWs" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_tUR$WL_tUW"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_tUR$WL_Us"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_tUR$WL_UWs"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_tUR$WLI_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_tUR$WLI_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_tUR$WLI_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$RLI_tUR$orWL_V"  />

    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tOR_V$aRWLw_U"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tOR_V$aWL_U"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tOR_V$tWL_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tOR_V$tWL_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tOR_V$tWL_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tOR_V$tWLt_tUW" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tOR_V$tWLt_Us"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tOR_V$tWLt_UWs" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tOR_V$WL_tUW"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tOR_V$WL_Us"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tOR_V$WL_UWs"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tOR_V$WLI_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tOR_V$WLI_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tOR_V$WLI_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tOR_V$orWL_V"  />

    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_URs$aRWLw_U"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_URs$aWL_U"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_URs$tWL_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_URs$tWL_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_URs$tWL_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_URs$tWLt_tUW" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_URs$tWLt_Us"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_URs$tWLt_UWs" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_URs$WL_tUW"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_URs$WL_Us"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_URs$WL_UWs"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_URs$WLI_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_URs$WLI_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_URs$WLI_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_URs$orWL_V"  />

    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_Us$aRWLw_U"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_Us$aWL_U"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_Us$tWL_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_Us$tWL_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_Us$tWL_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_Us$tWLt_tUW" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_Us$tWLt_Us"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_Us$tWLt_UWs" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_Us$WL_tUW"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_Us$WL_Us"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_Us$WL_UWs"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_Us$WLI_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_Us$WLI_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_Us$WLI_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_Us$orWL_V"  />

    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_tUR$aRWLw_U"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_tUR$aWL_U"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_tUR$tWL_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_tUR$tWL_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_tUR$tWL_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_tUR$tWLt_tUW" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_tUR$tWLt_Us"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_tUR$tWLt_UWs" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_tUR$WL_tUW"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_tUR$WL_Us"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_tUR$WL_UWs"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_tUR$WLI_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_tUR$WLI_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_tUR$WLI_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRL_tUR$orWL_V"  />

    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_URs$aRWLw_U"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_URs$aWL_U"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_URs$tWL_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_URs$tWL_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_URs$tWL_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_URs$tWLt_tUW" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_URs$tWLt_Us"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_URs$tWLt_UWs" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_URs$WL_tUW"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_URs$WL_Us"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_URs$WL_UWs"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_URs$WLI_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_URs$WLI_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_URs$WLI_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_URs$orWL_V"  />

    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_Us$aRWLw_U"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_Us$aWL_U"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_Us$tWL_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_Us$tWL_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_Us$tWL_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_Us$tWLt_tUW" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_Us$tWLt_Us"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_Us$tWLt_UWs" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_Us$WL_tUW"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_Us$WL_Us"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_Us$WL_UWs"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_Us$WLI_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_Us$WLI_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_Us$WLI_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_Us$orWL_V"  />

    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_tUR$aRWLw_U"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_tUR$aWL_U"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_tUR$tWL_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_tUR$tWL_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_tUR$tWL_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_tUR$tWLt_tUW" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_tUR$tWLt_Us"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_tUR$tWLt_UWs" />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_tUR$WL_tUW"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_tUR$WL_Us"    />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_tUR$WL_UWs"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_tUR$WLI_tUW"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_tUR$WLI_Us"   />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_tUR$WLI_UWs"  />
    <test template="atomicUpdate" name="org.openjdk.jcstress.tests.locks.stamped.StampedLockPairwiseTests$tRLt_tUR$orWL_V"  />

    <test name="org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests$OO_OO">
        <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
        <description>
            Tests if StampedLock transits to particular state without the illegal races.
        </description>
        <case>
            <match>[1, 1]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                Both optimistic reads have successfully validated.
            </description>
        </case>
        <unmatched>
            <expect>FORBIDDEN</expect>
            <description>
                Other cases are not expected.
            </description>
        </unmatched>
    </test>

    <test name="org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests$OO_OR">
        <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
        <description>
            Tests if StampedLock transits to particular state without the illegal races.
        </description>
        <case>
            <match>[1, 1]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                T1 had successfully validated the optimistic read. T2 had acquired the read lock.
            </description>
        </case>
        <case>
            <match>[0, 1]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                T1 had failed to convert to the optimistic read. T2 had acquired the read lock.
            </description>
        </case>
        <unmatched>
            <expect>FORBIDDEN</expect>
            <description>
                Other cases are not expected.
            </description>
        </unmatched>
    </test>

    <test name="org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests$OO_OW">
        <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
        <description>
            Tests if StampedLock transits to particular state without the illegal races.
        </description>
        <case>
            <match>[1, 1]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                T1 had successfully validated the optimistic read. T2 had acquired the write lock.
            </description>
        </case>
        <case>
            <match>[0, 1]</match>
            <match>[-1, 1]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                T1 had failed to acquire/convert to the optimistic read. T2 had acquired the write lock.
            </description>
        </case>
        <unmatched>
            <expect>FORBIDDEN</expect>
            <description>
                Other cases are not expected.
            </description>
        </unmatched>
    </test>

    <test name="org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests$OR_OW">
        <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
        <description>
            Tests if StampedLock transits to particular state without the illegal races.
        </description>
        <case>
            <match>[0, 1]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                T1 had failed to convert optimistic to read, because T2 had acquired the write lock.
            </description>
        </case>
        <case>
            <match>[-1, 1]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                T1 had failed to acquire optimistic, because T2 had acquired the write lock.
            </description>
        </case>
        <case>
            <match>[1, 0]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                T1 had converted optimistic to read, and T2 had failed to acquire the write lock.
            </description>
        </case>
        <unmatched>
            <expect>FORBIDDEN</expect>
            <description>
                Other cases are not expected.
            </description>
        </unmatched>
    </test>

    <test name="org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests$RO_RO">
        <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
        <description>
            Tests if StampedLock transits to particular state without the illegal races.
        </description>
        <case>
            <match>[1, 1]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                Both threads have acquired read locks; both have successfully converted to optimistic.
            </description>
        </case>
        <unmatched>
            <expect>FORBIDDEN</expect>
            <description>
                Other cases are not expected.
            </description>
        </unmatched>
    </test>

    <test name="org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests$RO_RR">
        <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
        <description>
            Tests if StampedLock transits to particular state without the illegal races.
        </description>
        <case>
            <match>[1, 1]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                Both threads have acquired read locks; both have successfully converted to optimistic/read.
            </description>
        </case>
        <unmatched>
            <expect>FORBIDDEN</expect>
            <description>
                Other cases are not expected.
            </description>
        </unmatched>
    </test>

    <test name="org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests$RO_RW">
        <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
        <description>
            Tests if StampedLock transits to particular state without the illegal races.
        </description>
        <case>
            <match>[1, 1]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                Both threads have acquired read locks; T1 had acquired optimistic, then T2 acquire write lock.
            </description>
        </case>
        <case>
            <match>[-1, 1]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                T2 had successfully acquired read, then write lock; T1 had failed to acquire read lock.
            </description>
        </case>
        <case>
            <match>[1, 0]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                T1 had successfully acquired read lock, had successfully converted to optimistic.
                T2 had failed to acquire write lock, while T1 was holding the read.
            </description>
        </case>
        <unmatched>
            <expect>FORBIDDEN</expect>
            <description>
                Other cases are not expected.
            </description>
        </unmatched>
    </test>

    <test name="org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests$RR_RW">
        <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
        <description>
            Tests if StampedLock transits to particular state without the illegal races.
        </description>
        <case>
            <match>[-1, 1]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                T2 had successfully acquired read, then write lock; T1 had failed to acquire read lock.
            </description>
        </case>
        <case>
            <match>[1, 0]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                T1 had successfully acquired read lock, had successfully converted to read lock.
                T2 had failed to acquire write lock, while T1 was holding the read.
            </description>
        </case>
        <unmatched>
            <expect>FORBIDDEN</expect>
            <description>
                Other cases are not expected.
            </description>
        </unmatched>
    </test>

    <test name="org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests$WO_WO">
        <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
        <description>
            Tests if StampedLock transits to particular state without the illegal races.
        </description>
        <case>
            <match>[-1, 1]</match>
            <match>[1, -1]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                One of the threads had successfully acquired the write lock, and converted it to optimistic.
                Another thread had failed to acquire write lock, letting first thread to transit to optimistic.
            </description>
        </case>
        <case>
            <match>[1, 1]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                Both threads have acquired the write lock, and were quick enough to convert them to the optimistic.
            </description>
        </case>
        <unmatched>
            <expect>FORBIDDEN</expect>
            <description>
                Other cases are not expected.
            </description>
        </unmatched>
    </test>

    <test name="org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests$WO_WR">
        <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
        <description>
            Tests if StampedLock transits to particular state without the illegal races.
        </description>
        <case>
            <match>[-1, 1]</match>
            <match>[1, -1]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                One of the threads had successfully acquired the write lock, and converted it to read lock.
                Another thread had failed to acquire write lock, letting first thread to transit to read lock.
            </description>
        </case>
        <case>
            <match>[1, 1]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                Both threads have acquired the write lock, and were quick enough to convert them to the read locks.
            </description>
        </case>
        <unmatched>
            <expect>FORBIDDEN</expect>
            <description>
                Other cases are not expected.
            </description>
        </unmatched>
    </test>

    <test name="org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests$WO_WW">
        <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
        <description>
            Tests if StampedLock transits to particular state without the illegal races.
        </description>
        <case>
            <match>[-1, 1]</match>
            <match>[1, -1]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                One of the thread had succeeded in acquiring the write lock, breaking another from acquiring
                another write lock.
            </description>
        </case>
        <case>
            <match>[1, 1]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                T1 had succeeded in acquiring the write lock, and converted it to optimistic;
                which allowed T2 to acquire and hold the write lock.
            </description>
        </case>
        <unmatched>
            <expect>FORBIDDEN</expect>
            <description>
                Other cases are not expected.
            </description>
        </unmatched>
    </test>

    <test name="org.openjdk.jcstress.tests.locks.stamped.StampedLockTransitionTests$WR_WW">
        <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
        <description>
            Tests if StampedLock transits to particular state without the illegal races.
        </description>
        <case>
            <match>[-1, 1]</match>
            <match>[1, -1]</match>
            <expect>ACCEPTABLE</expect>
            <description>
                One of the thread had succeeded in acquiring the write lock, breaking another from acquiring
                another write lock. T1 conversion to read lock still prohibits T2 from acquiring the write lock.
            </description>
        </case>
        <unmatched>
            <expect>FORBIDDEN</expect>
            <description>
                Other cases are not expected.
            </description>
        </unmatched>
    </test>

</testsuite>