annotate tests-custom/src/main/resources/org/openjdk/jcstress/desc/atomicity-primitive-plain.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 7a9f5f818d94
rev   line source
shade@0 1 <!--
shade@0 2
shade@0 3 Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
shade@0 4 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
shade@0 5
shade@0 6 This code is free software; you can redistribute it and/or modify it
shade@0 7 under the terms of the GNU General Public License version 2 only, as
shade@0 8 published by the Free Software Foundation. Oracle designates this
shade@0 9 particular file as subject to the "Classpath" exception as provided
shade@0 10 by Oracle in the LICENSE file that accompanied this code.
shade@0 11
shade@0 12 This code is distributed in the hope that it will be useful, but WITHOUT
shade@0 13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
shade@0 14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
shade@0 15 version 2 for more details (a copy is included in the LICENSE file that
shade@0 16 accompanied this code).
shade@0 17
shade@0 18 You should have received a copy of the GNU General Public License version
shade@0 19 2 along with this work; if not, write to the Free Software Foundation,
shade@0 20 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
shade@0 21
shade@0 22 Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
shade@0 23 or visit www.oracle.com if you need additional information or have any
shade@0 24 questions.
shade@0 25
shade@0 26 -->
shade@0 27 <testsuite>
shade@0 28
shade@0 29 <test name="org.openjdk.jcstress.tests.atomicity.primitives.plain.ByteAtomicityTest">
shade@0 30 <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
shade@0 31 <description>
shade@0 32 Tests if primitive bytes experience non-atomic updates.
shade@0 33 </description>
shade@0 34 <case>
shade@0 35 <match>[0]</match>
shade@0 36 <expect>ACCEPTABLE</expect>
shade@0 37 <description>
shade@0 38 Default value for the field. Observers are allowed to see the default value for the field,
shade@0 39 because there is the data race between reader and writer.
shade@0 40 </description>
shade@0 41 </case>
shade@0 42 <case>
shade@0 43 <match>[-1]</match>
shade@0 44 <expect>ACCEPTABLE</expect>
shade@0 45 <description>
shade@0 46 The value set by the actor thread. Observer sees the complete update.
shade@0 47 </description>
shade@0 48 </case>
shade@0 49 <unmatched>
shade@0 50 <expect>FORBIDDEN</expect>
shade@0 51 <description>
shade@0 52 This case is not expected.
shade@0 53 </description>
shade@0 54 </unmatched>
shade@0 55 </test>
shade@0 56
shade@0 57 <test name="org.openjdk.jcstress.tests.atomicity.primitives.plain.VolatileByteAtomicityTest">
shade@0 58 <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
shade@0 59 <description>
shade@0 60 Tests if primitive bytes experience non-atomic updates.
shade@0 61 </description>
shade@0 62 <case>
shade@0 63 <match>[0]</match>
shade@0 64 <expect>ACCEPTABLE</expect>
shade@0 65 <description>
shade@0 66 Default value for the field. Observers are allowed to see the default value for the field,
shade@0 67 because there is the data race between reader and writer.
shade@0 68 </description>
shade@0 69 </case>
shade@0 70 <case>
shade@0 71 <match>[-1]</match>
shade@0 72 <expect>ACCEPTABLE</expect>
shade@0 73 <description>
shade@0 74 The value set by the actor thread. Observer sees the complete update.
shade@0 75 </description>
shade@0 76 </case>
shade@0 77 <unmatched>
shade@0 78 <expect>FORBIDDEN</expect>
shade@0 79 <description>
shade@0 80 This case is not expected.
shade@0 81 </description>
shade@0 82 </unmatched>
shade@0 83 </test>
shade@0 84
shade@0 85 <test name="org.openjdk.jcstress.tests.atomicity.primitives.plain.CharAtomicityTest">
shade@0 86 <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
shade@0 87 <description>
shade@0 88 Tests if primitive chars experience non-atomic updates.
shade@0 89 </description>
shade@0 90 <case>
shade@0 91 <match>[N]</match>
shade@0 92 <expect>ACCEPTABLE</expect>
shade@0 93 <description>
shade@0 94 Default value for the field. Observers are allowed to see the default value for the field,
shade@0 95 because there is the data race between reader and writer.
shade@0 96 </description>
shade@0 97 </case>
shade@0 98 <case>
shade@0 99 <match>[A]</match>
shade@0 100 <expect>ACCEPTABLE</expect>
shade@0 101 <description>
shade@0 102 The value set by the actor thread. Observer sees the complete update.
shade@0 103 </description>
shade@0 104 </case>
shade@0 105 <unmatched>
shade@0 106 <expect>FORBIDDEN</expect>
shade@0 107 <description>
shade@0 108 This case is not expected.
shade@0 109 </description>
shade@0 110 </unmatched>
shade@0 111 </test>
shade@0 112
shade@0 113 <test name="org.openjdk.jcstress.tests.atomicity.primitives.plain.VolatileCharAtomicityTest">
shade@0 114 <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
shade@0 115 <description>
shade@0 116 Tests if primitive chars experience non-atomic updates.
shade@0 117 </description>
shade@0 118 <case>
shade@0 119 <match>[N]</match>
shade@0 120 <expect>ACCEPTABLE</expect>
shade@0 121 <description>
shade@0 122 Default value for the field. Observers are allowed to see the default value for the field,
shade@0 123 because there is the data race between reader and writer.
shade@0 124 </description>
shade@0 125 </case>
shade@0 126 <case>
shade@0 127 <match>[A]</match>
shade@0 128 <expect>ACCEPTABLE</expect>
shade@0 129 <description>
shade@0 130 The value set by the actor thread. Observer sees the complete update.
shade@0 131 </description>
shade@0 132 </case>
shade@0 133 <unmatched>
shade@0 134 <expect>FORBIDDEN</expect>
shade@0 135 <description>
shade@0 136 This case is not expected.
shade@0 137 </description>
shade@0 138 </unmatched>
shade@0 139 </test>
shade@0 140
shade@0 141 <test name="org.openjdk.jcstress.tests.atomicity.primitives.plain.DoubleAtomicityTest">
shade@0 142 <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
shade@0 143 <description>
shade@0 144 Tests if primitive doubles experience non-atomic updates.
shade@0 145 </description>
shade@0 146 <case>
shade@0 147 <match>[NaN]</match>
shade@0 148 <expect>ACCEPTABLE</expect>
shade@0 149 <description>
shade@0 150 Default value for the field. Observers are allowed to see the default value for the field,
shade@0 151 because there is the data race between reader and writer.
shade@0 152 </description>
shade@0 153 </case>
shade@0 154 <case>
shade@0 155 <match>[0.0]</match>
shade@0 156 <expect>ACCEPTABLE</expect>
shade@0 157 <description>
shade@0 158 The value set by the actor thread. Observer sees the complete update.
shade@0 159 </description>
shade@0 160 </case>
shade@0 161 <unmatched>
shade@66 162 <expect>ACCEPTABLE_SPEC</expect>
shade@0 163 <description>
shade@0 164 Seeing the torn value. This is specifically allowed by JLS.
shade@0 165 This is not a surprising behavior on some 32-bit systems which do not have full-width 64-bit instructions.
shade@0 166 </description>
shade@0 167 <refs>
shade@0 168 <url>http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7</url>
shade@0 169 </refs>
shade@0 170 </unmatched>
shade@0 171 </test>
shade@0 172
shade@0 173 <test name="org.openjdk.jcstress.tests.atomicity.primitives.plain.VolatileDoubleAtomicityTest">
shade@0 174 <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
shade@0 175 <description>
shade@0 176 Tests if primitive doubles experience non-atomic updates.
shade@0 177 </description>
shade@0 178 <case>
shade@0 179 <match>[NaN]</match>
shade@0 180 <expect>ACCEPTABLE</expect>
shade@0 181 <description>
shade@0 182 Default value for the field. Observers are allowed to see the default value for the field,
shade@0 183 because there is the data race between reader and writer.
shade@0 184 </description>
shade@0 185 </case>
shade@0 186 <case>
shade@0 187 <match>[0.0]</match>
shade@0 188 <expect>ACCEPTABLE</expect>
shade@0 189 <description>
shade@0 190 The value set by the actor thread. Observer sees the complete update.
shade@0 191 </description>
shade@0 192 </case>
shade@0 193 <unmatched>
shade@0 194 <expect>FORBIDDEN</expect>
shade@0 195 <description>
shade@0 196 This case is not expected.
shade@0 197 </description>
shade@0 198 </unmatched>
shade@0 199 </test>
shade@0 200
shade@0 201 <test name="org.openjdk.jcstress.tests.atomicity.primitives.plain.FloatAtomicityTest">
shade@0 202 <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
shade@0 203 <description>
shade@0 204 Tests if primitive floats experience non-atomic updates.
shade@0 205 </description>
shade@0 206 <case>
shade@0 207 <match>[NaN]</match>
shade@0 208 <expect>ACCEPTABLE</expect>
shade@0 209 <description>
shade@0 210 Default value for the field. Observers are allowed to see the default value for the field,
shade@0 211 because there is the data race between reader and writer.
shade@0 212 </description>
shade@0 213 </case>
shade@0 214 <case>
shade@0 215 <match>[0.0]</match>
shade@0 216 <expect>ACCEPTABLE</expect>
shade@0 217 <description>
shade@0 218 The value set by the actor thread. Observer sees the complete update.
shade@0 219 </description>
shade@0 220 </case>
shade@0 221 <unmatched>
shade@0 222 <expect>FORBIDDEN</expect>
shade@0 223 <description>
shade@0 224 This case is not expected.
shade@0 225 </description>
shade@0 226 </unmatched>
shade@0 227 </test>
shade@0 228
shade@0 229 <test name="org.openjdk.jcstress.tests.atomicity.primitives.plain.VolatileFloatAtomicityTest">
shade@0 230 <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
shade@0 231 <description>
shade@0 232 Tests if primitive floats experience non-atomic updates.
shade@0 233 </description>
shade@0 234 <case>
shade@0 235 <match>[NaN]</match>
shade@0 236 <expect>ACCEPTABLE</expect>
shade@0 237 <description>
shade@0 238 Default value for the field. Observers are allowed to see the default value for the field,
shade@0 239 because there is the data race between reader and writer.
shade@0 240 </description>
shade@0 241 </case>
shade@0 242 <case>
shade@0 243 <match>[0.0]</match>
shade@0 244 <expect>ACCEPTABLE</expect>
shade@0 245 <description>
shade@0 246 The value set by the actor thread. Observer sees the complete update.
shade@0 247 </description>
shade@0 248 </case>
shade@0 249 <unmatched>
shade@0 250 <expect>FORBIDDEN</expect>
shade@0 251 <description>
shade@0 252 This case is not expected.
shade@0 253 </description>
shade@0 254 </unmatched>
shade@0 255 </test>
shade@0 256
shade@0 257 <test name="org.openjdk.jcstress.tests.atomicity.primitives.plain.IntAtomicityTest">
shade@0 258 <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
shade@0 259 <description>
shade@0 260 Tests if primitive ints experience non-atomic updates.
shade@0 261 </description>
shade@0 262 <case>
shade@0 263 <match>[0]</match>
shade@0 264 <expect>ACCEPTABLE</expect>
shade@0 265 <description>
shade@0 266 Default value for the field. Observers are allowed to see the default value for the field,
shade@0 267 because there is the data race between reader and writer.
shade@0 268 </description>
shade@0 269 </case>
shade@0 270 <case>
shade@0 271 <match>[-1]</match>
shade@0 272 <expect>ACCEPTABLE</expect>
shade@0 273 <description>
shade@0 274 The value set by the actor thread. Observer sees the complete update.
shade@0 275 </description>
shade@0 276 </case>
shade@0 277 <unmatched>
shade@0 278 <expect>FORBIDDEN</expect>
shade@0 279 <description>
shade@0 280 This case is not expected.
shade@0 281 </description>
shade@0 282 </unmatched>
shade@0 283 </test>
shade@0 284
shade@0 285 <test name="org.openjdk.jcstress.tests.atomicity.primitives.plain.VolatileIntAtomicityTest">
shade@0 286 <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
shade@0 287 <description>
shade@0 288 Tests if primitive ints experience non-atomic updates.
shade@0 289 </description>
shade@0 290 <case>
shade@0 291 <match>[0]</match>
shade@0 292 <expect>ACCEPTABLE</expect>
shade@0 293 <description>
shade@0 294 Default value for the field. Observers are allowed to see the default value for the field,
shade@0 295 because there is the data race between reader and writer.
shade@0 296 </description>
shade@0 297 </case>
shade@0 298 <case>
shade@0 299 <match>[-1]</match>
shade@0 300 <expect>ACCEPTABLE</expect>
shade@0 301 <description>
shade@0 302 The value set by the actor thread. Observer sees the complete update.
shade@0 303 </description>
shade@0 304 </case>
shade@0 305 <unmatched>
shade@0 306 <expect>FORBIDDEN</expect>
shade@0 307 <description>
shade@0 308 This case is not expected.
shade@0 309 </description>
shade@0 310 </unmatched>
shade@0 311 </test>
shade@0 312
shade@0 313 <test name="org.openjdk.jcstress.tests.atomicity.primitives.plain.LongAtomicityTest">
shade@0 314 <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
shade@0 315 <description>
shade@0 316 Tests if primitive longs experience non-atomic updates.
shade@0 317 </description>
shade@0 318 <case>
shade@0 319 <match>[0]</match>
shade@0 320 <expect>ACCEPTABLE</expect>
shade@0 321 <description>
shade@0 322 Default value for the field. Observers are allowed to see the default value for the field,
shade@0 323 because there is the data race between reader and writer.
shade@0 324 </description>
shade@0 325 </case>
shade@0 326 <case>
shade@0 327 <match>[-1]</match>
shade@0 328 <expect>ACCEPTABLE</expect>
shade@0 329 <description>
shade@0 330 The value set by the actor thread. Observer sees the complete update.
shade@0 331 </description>
shade@0 332 </case>
shade@0 333 <case>
shade@0 334 <match>[4294967295]</match>
shade@0 335 <match>[-4294967296]</match>
shade@66 336 <expect>ACCEPTABLE_SPEC</expect>
shade@0 337 <description>
shade@0 338 Seeing the torn value. This is specifically allowed by JLS.
shade@0 339 This is not a surprising behavior on some 32-bit systems which do not have full-width 64-bit instructions.
shade@0 340 </description>
shade@0 341 <refs>
shade@0 342 <url>http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7</url>
shade@0 343 </refs>
shade@0 344 </case>
shade@0 345 <unmatched>
shade@0 346 <expect>FORBIDDEN</expect>
shade@0 347 <description>
shade@0 348 This case is not expected.
shade@0 349 </description>
shade@0 350 </unmatched>
shade@0 351 </test>
shade@0 352
shade@0 353 <test name="org.openjdk.jcstress.tests.atomicity.primitives.plain.VolatileLongAtomicityTest">
shade@0 354 <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
shade@0 355 <description>
shade@0 356 Tests if primitive longs experience non-atomic updates.
shade@0 357 </description>
shade@0 358 <case>
shade@0 359 <match>[0]</match>
shade@0 360 <expect>ACCEPTABLE</expect>
shade@0 361 <description>
shade@0 362 Default value for the field. Observers are allowed to see the default value for the field,
shade@0 363 because there is the data race between reader and writer.
shade@0 364 </description>
shade@0 365 </case>
shade@0 366 <case>
shade@0 367 <match>[-1]</match>
shade@0 368 <expect>ACCEPTABLE</expect>
shade@0 369 <description>
shade@0 370 The value set by the actor thread. Observer sees the complete update.
shade@0 371 </description>
shade@0 372 </case>
shade@0 373 <unmatched>
shade@0 374 <expect>FORBIDDEN</expect>
shade@0 375 <description>
shade@0 376 This case is not expected.
shade@0 377 </description>
shade@0 378 </unmatched>
shade@0 379 </test>
shade@0 380
shade@0 381 <test name="org.openjdk.jcstress.tests.atomicity.primitives.plain.ShortAtomicityTest">
shade@0 382 <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
shade@0 383 <description>
shade@0 384 Tests if primitive shorts experience non-atomic updates.
shade@0 385 </description>
shade@0 386 <case>
shade@0 387 <match>[0]</match>
shade@0 388 <expect>ACCEPTABLE</expect>
shade@0 389 <description>
shade@0 390 Default value for the field. Observers are allowed to see the default value for the field,
shade@0 391 because there is the data race between reader and writer.
shade@0 392 </description>
shade@0 393 </case>
shade@0 394 <case>
shade@0 395 <match>[-1]</match>
shade@0 396 <expect>ACCEPTABLE</expect>
shade@0 397 <description>
shade@0 398 The value set by the actor thread. Observer sees the complete update.
shade@0 399 </description>
shade@0 400 </case>
shade@0 401 <unmatched>
shade@0 402 <expect>FORBIDDEN</expect>
shade@0 403 <description>
shade@0 404 This case is not expected.
shade@0 405 </description>
shade@0 406 </unmatched>
shade@0 407 </test>
shade@0 408
shade@0 409 <test name="org.openjdk.jcstress.tests.atomicity.primitives.plain.VolatileShortAtomicityTest">
shade@0 410 <contributed-by>Aleksey Shipilev (aleksey.shipilev@oracle.com)</contributed-by>
shade@0 411 <description>
shade@0 412 Tests if primitive shorts experience non-atomic updates.
shade@0 413 </description>
shade@0 414 <case>
shade@0 415 <match>[0]</match>
shade@0 416 <expect>ACCEPTABLE</expect>
shade@0 417 <description>
shade@0 418 Default value for the field. Observers are allowed to see the default value for the field,
shade@0 419 because there is the data race between reader and writer.
shade@0 420 </description>
shade@0 421 </case>
shade@0 422 <case>
shade@0 423 <match>[-1]</match>
shade@0 424 <expect>ACCEPTABLE</expect>
shade@0 425 <description>
shade@0 426 The value set by the actor thread. Observer sees the complete update.
shade@0 427 </description>
shade@0 428 </case>
shade@0 429 <unmatched>
shade@0 430 <expect>FORBIDDEN</expect>
shade@0 431 <description>
shade@0 432 This case is not expected.
shade@0 433 </description>
shade@0 434 </unmatched>
shade@0 435 </test>
shade@0 436
shade@0 437 </testsuite>