changeset 282:235dad473c55

Chapter 0.a: Allow non-atomic ops on volatile arrays. Disallow non-default values in word tearing tests.
author shade
date Wed, 01 Jun 2016 16:22:24 +0300
parents c80cab9599e4
children bfbe23678089
files jcstress-test-gen/src/main/java/org/openjdk/jcstress/chapters/Chapter0aTestGenerator.java jcstress-test-gen/src/main/resources/tearing/X-ArrayLargeTearingTest.java.template jcstress-test-gen/src/main/resources/tearing/X-ArrayTearingTest.java.template jcstress-test-gen/src/main/resources/tearing/X-FieldTearingTest.java.template tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/accessAtomic/arrays/large/volatiles/DoubleTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/accessAtomic/arrays/large/volatiles/LongTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/accessAtomic/arrays/small/volatiles/DoubleTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/accessAtomic/arrays/small/volatiles/LongTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/BooleanTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/ByteTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/CharTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/DoubleTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/FloatTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/IntTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/LongTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/ShortTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/StringTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/BooleanTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/ByteTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/CharTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/DoubleTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/FloatTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/IntTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/LongTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/ShortTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/StringTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/BooleanTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/ByteTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/CharTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/DoubleTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/FloatTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/IntTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/LongTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/ShortTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/StringTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/BooleanTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/ByteTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/CharTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/DoubleTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/FloatTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/IntTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/LongTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/ShortTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/StringTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/BooleanTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/ByteTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/CharTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/DoubleTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/FloatTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/IntTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/LongTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/ShortTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/StringTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/BooleanTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/ByteTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/CharTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/DoubleTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/FloatTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/IntTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/LongTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/ShortTest.java tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/StringTest.java
diffstat 62 files changed, 71 insertions(+), 105 deletions(-) [+]
line wrap: on
line diff
--- a/jcstress-test-gen/src/main/java/org/openjdk/jcstress/chapters/Chapter0aTestGenerator.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/jcstress-test-gen/src/main/java/org/openjdk/jcstress/chapters/Chapter0aTestGenerator.java	Wed Jun 01 16:22:24 2016 +0300
@@ -133,7 +133,7 @@
             for (String type : TYPES) {
                 String name = testName(type);
                 String res = Spp.spp(template,
-                        keys(modifier, type),
+                        keys(modifier, type, label),
                         vars(modifier, type, pack, name));
 
                 GeneratorUtils.writeOut(dest, pack, name, res);
@@ -157,18 +157,19 @@
         return map;
     }
 
-    private static Set<String> keys(String modifier, String type) {
+    private static Set<String> keys(String modifier, String type, String label) {
         Set<String> set = new HashSet<>();
         set.add(type);
-        if (alwaysAtomic(modifier, type)) {
+        if (alwaysAtomic(modifier, type, label)) {
             set.add("alwaysAtomic");
         }
         set.add(modifier);
         return set;
     }
 
-    private static boolean alwaysAtomic(String modifier, String type) {
-        return modifier.equals("volatile") || !(type.equals("double") || type.equals("long"));
+    private static boolean alwaysAtomic(String modifier, String type, String label) {
+        return (modifier.equals("volatile") && !label.contains("array")) ||
+                !(type.equals("double") || type.equals("long"));
     }
 
     private static String testName(String type) {
--- a/jcstress-test-gen/src/main/resources/tearing/X-ArrayLargeTearingTest.java.template	Wed Jun 01 15:36:46 2016 +0300
+++ b/jcstress-test-gen/src/main/resources/tearing/X-ArrayLargeTearingTest.java.template	Wed Jun 01 16:22:24 2016 +0300
@@ -35,14 +35,7 @@
  */
 @JCStressTest
 @Outcome(id = "$set$, $set$", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-#if[alwaysAtomic]
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
-#else[alwaysAtomic]
-@Outcome(id = "$default$, .*", expect = Expect.FORBIDDEN, desc = "Cannot see default values.")
-@Outcome(id = ".*, $default$", expect = Expect.FORBIDDEN, desc = "Cannot see default values.")
-@Outcome(expect = Expect.ACCEPTABLE_SPEC, desc = "Non-atomic access detected, allowed by spec")
-@Ref("http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7")
-#end[alwaysAtomic]
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class $name$ {
 
--- a/jcstress-test-gen/src/main/resources/tearing/X-ArrayTearingTest.java.template	Wed Jun 01 15:36:46 2016 +0300
+++ b/jcstress-test-gen/src/main/resources/tearing/X-ArrayTearingTest.java.template	Wed Jun 01 16:22:24 2016 +0300
@@ -34,14 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "$set$, $set$", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-#if[alwaysAtomic]
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
-#else[alwaysAtomic]
-@Outcome(id = "$default, .*", expect = Expect.FORBIDDEN, desc = "Cannot see default values.")
-@Outcome(id = ".*, $default$", expect = Expect.FORBIDDEN, desc = "Cannot see default values.")
-@Outcome(expect = Expect.ACCEPTABLE_SPEC, desc = "Non-atomic access detected, allowed by spec")
-@Ref("http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7")
-#end[alwaysAtomic]
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class $name$ {
 
--- a/jcstress-test-gen/src/main/resources/tearing/X-FieldTearingTest.java.template	Wed Jun 01 15:36:46 2016 +0300
+++ b/jcstress-test-gen/src/main/resources/tearing/X-FieldTearingTest.java.template	Wed Jun 01 16:22:24 2016 +0300
@@ -34,14 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "$set$, $set$", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-#if[alwaysAtomic]
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
-#else[alwaysAtomic]
-@Outcome(id = "$default$, .*", expect = Expect.FORBIDDEN, desc = "Cannot see default values.")
-@Outcome(id = ".*, $default$", expect = Expect.FORBIDDEN, desc = "Cannot see default values.")
-@Outcome(expect = Expect.ACCEPTABLE_SPEC, desc = "Non-atomic access detected, allowed by spec")
-@Ref("http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7")
-#end[alwaysAtomic]
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class $name$ {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/accessAtomic/arrays/large/volatiles/DoubleTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/accessAtomic/arrays/large/volatiles/DoubleTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -35,7 +35,8 @@
 @JCStressTest
 @Outcome(id = "-1", expect = Expect.ACCEPTABLE, desc = "Have not seen the array yet.")
 @Outcome(id = "1",  expect = Expect.ACCEPTABLE, desc = "Seen all elements set.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden: atomicity violation.")
+@Outcome(expect = Expect.ACCEPTABLE_SPEC, desc = "Non-atomic access detected, allowed by spec")
+@Ref("http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7")
 @State
 public class DoubleTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/accessAtomic/arrays/large/volatiles/LongTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/accessAtomic/arrays/large/volatiles/LongTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -35,7 +35,8 @@
 @JCStressTest
 @Outcome(id = "-1", expect = Expect.ACCEPTABLE, desc = "Have not seen the array yet.")
 @Outcome(id = "1",  expect = Expect.ACCEPTABLE, desc = "Seen all elements set.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden: atomicity violation.")
+@Outcome(expect = Expect.ACCEPTABLE_SPEC, desc = "Non-atomic access detected, allowed by spec")
+@Ref("http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7")
 @State
 public class LongTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/accessAtomic/arrays/small/volatiles/DoubleTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/accessAtomic/arrays/small/volatiles/DoubleTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -35,7 +35,8 @@
 @JCStressTest
 @Outcome(id = "0.0", expect = Expect.ACCEPTABLE, desc = "Default value for the element. Allowed to see this: data race.")
 @Outcome(id = "1.39067116124321E-309", expect = Expect.ACCEPTABLE, desc = "The value set by the actor thread. Observer sees the complete update.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden: atomicity violation.")
+@Outcome(expect = Expect.ACCEPTABLE_SPEC, desc = "Non-atomic access detected, allowed by spec")
+@Ref("http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7")
 @State
 public class DoubleTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/accessAtomic/arrays/small/volatiles/LongTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/accessAtomic/arrays/small/volatiles/LongTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -35,7 +35,8 @@
 @JCStressTest
 @Outcome(id = "0", expect = Expect.ACCEPTABLE, desc = "Default value for the element. Allowed to see this: data race.")
 @Outcome(id = "-1", expect = Expect.ACCEPTABLE, desc = "The value set by the actor thread. Observer sees the complete update.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden: atomicity violation.")
+@Outcome(expect = Expect.ACCEPTABLE_SPEC, desc = "Non-atomic access detected, allowed by spec")
+@Ref("http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7")
 @State
 public class LongTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/BooleanTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/BooleanTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -35,7 +35,7 @@
  */
 @JCStressTest
 @Outcome(id = "true, true", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class BooleanTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/ByteTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/ByteTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -35,7 +35,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class ByteTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/CharTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/CharTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -35,7 +35,7 @@
  */
 @JCStressTest
 @Outcome(id = "A, A", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class CharTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/DoubleTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/DoubleTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -35,10 +35,7 @@
  */
 @JCStressTest
 @Outcome(id = "1.39067116124321E-309, 1.39067116124321E-309", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(id = "0.0, .*", expect = Expect.FORBIDDEN, desc = "Cannot see default values.")
-@Outcome(id = ".*, 0.0", expect = Expect.FORBIDDEN, desc = "Cannot see default values.")
-@Outcome(expect = Expect.ACCEPTABLE_SPEC, desc = "Non-atomic access detected, allowed by spec")
-@Ref("http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class DoubleTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/FloatTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/FloatTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -35,7 +35,7 @@
  */
 @JCStressTest
 @Outcome(id = "2.3509528E-38, 2.3509528E-38", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class FloatTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/IntTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/IntTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -35,7 +35,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class IntTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/LongTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/LongTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -35,10 +35,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(id = "0, .*", expect = Expect.FORBIDDEN, desc = "Cannot see default values.")
-@Outcome(id = ".*, 0", expect = Expect.FORBIDDEN, desc = "Cannot see default values.")
-@Outcome(expect = Expect.ACCEPTABLE_SPEC, desc = "Non-atomic access detected, allowed by spec")
-@Ref("http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class LongTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/ShortTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/ShortTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -35,7 +35,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class ShortTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/StringTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/plain/StringTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -35,7 +35,7 @@
  */
 @JCStressTest
 @Outcome(id = "object, object", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class StringTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/BooleanTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/BooleanTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -35,7 +35,7 @@
  */
 @JCStressTest
 @Outcome(id = "true, true", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class BooleanTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/ByteTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/ByteTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -35,7 +35,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class ByteTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/CharTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/CharTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -35,7 +35,7 @@
  */
 @JCStressTest
 @Outcome(id = "A, A", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class CharTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/DoubleTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/DoubleTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -35,7 +35,7 @@
  */
 @JCStressTest
 @Outcome(id = "1.39067116124321E-309, 1.39067116124321E-309", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class DoubleTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/FloatTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/FloatTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -35,7 +35,7 @@
  */
 @JCStressTest
 @Outcome(id = "2.3509528E-38, 2.3509528E-38", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class FloatTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/IntTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/IntTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -35,7 +35,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class IntTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/LongTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/LongTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -35,7 +35,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class LongTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/ShortTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/ShortTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -35,7 +35,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class ShortTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/StringTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/large/volatiles/StringTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -35,7 +35,7 @@
  */
 @JCStressTest
 @Outcome(id = "object, object", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class StringTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/BooleanTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/BooleanTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "true, true", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class BooleanTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/ByteTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/ByteTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class ByteTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/CharTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/CharTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "A, A", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class CharTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/DoubleTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/DoubleTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,10 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "1.39067116124321E-309, 1.39067116124321E-309", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(id = "$default, .*", expect = Expect.FORBIDDEN, desc = "Cannot see default values.")
-@Outcome(id = ".*, 0.0", expect = Expect.FORBIDDEN, desc = "Cannot see default values.")
-@Outcome(expect = Expect.ACCEPTABLE_SPEC, desc = "Non-atomic access detected, allowed by spec")
-@Ref("http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class DoubleTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/FloatTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/FloatTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "2.3509528E-38, 2.3509528E-38", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class FloatTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/IntTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/IntTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class IntTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/LongTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/LongTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,10 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(id = "$default, .*", expect = Expect.FORBIDDEN, desc = "Cannot see default values.")
-@Outcome(id = ".*, 0", expect = Expect.FORBIDDEN, desc = "Cannot see default values.")
-@Outcome(expect = Expect.ACCEPTABLE_SPEC, desc = "Non-atomic access detected, allowed by spec")
-@Ref("http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class LongTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/ShortTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/ShortTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class ShortTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/StringTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/plain/StringTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "object, object", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class StringTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/BooleanTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/BooleanTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "true, true", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class BooleanTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/ByteTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/ByteTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class ByteTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/CharTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/CharTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "A, A", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class CharTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/DoubleTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/DoubleTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "1.39067116124321E-309, 1.39067116124321E-309", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class DoubleTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/FloatTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/FloatTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "2.3509528E-38, 2.3509528E-38", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class FloatTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/IntTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/IntTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class IntTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/LongTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/LongTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class LongTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/ShortTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/ShortTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class ShortTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/StringTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/arrays/small/volatiles/StringTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "object, object", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class StringTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/BooleanTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/BooleanTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "true, true", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class BooleanTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/ByteTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/ByteTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class ByteTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/CharTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/CharTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "A, A", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class CharTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/DoubleTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/DoubleTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,10 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "1.39067116124321E-309, 1.39067116124321E-309", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(id = "0.0, .*", expect = Expect.FORBIDDEN, desc = "Cannot see default values.")
-@Outcome(id = ".*, 0.0", expect = Expect.FORBIDDEN, desc = "Cannot see default values.")
-@Outcome(expect = Expect.ACCEPTABLE_SPEC, desc = "Non-atomic access detected, allowed by spec")
-@Ref("http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class DoubleTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/FloatTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/FloatTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "2.3509528E-38, 2.3509528E-38", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class FloatTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/IntTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/IntTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class IntTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/LongTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/LongTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,10 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(id = "0, .*", expect = Expect.FORBIDDEN, desc = "Cannot see default values.")
-@Outcome(id = ".*, 0", expect = Expect.FORBIDDEN, desc = "Cannot see default values.")
-@Outcome(expect = Expect.ACCEPTABLE_SPEC, desc = "Non-atomic access detected, allowed by spec")
-@Ref("http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.7")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class LongTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/ShortTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/ShortTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class ShortTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/StringTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/plain/StringTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "object, object", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class StringTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/BooleanTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/BooleanTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "true, true", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class BooleanTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/ByteTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/ByteTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class ByteTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/CharTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/CharTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "A, A", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class CharTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/DoubleTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/DoubleTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "1.39067116124321E-309, 1.39067116124321E-309", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class DoubleTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/FloatTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/FloatTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "2.3509528E-38, 2.3509528E-38", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class FloatTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/IntTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/IntTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class IntTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/LongTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/LongTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class LongTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/ShortTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/ShortTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "-1, -1", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class ShortTest {
 
--- a/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/StringTest.java	Wed Jun 01 15:36:46 2016 +0300
+++ b/tests-chapter-0a/src/main/java/org/openjdk/jcstress/tests/tearing/fields/volatiles/StringTest.java	Wed Jun 01 16:22:24 2016 +0300
@@ -34,7 +34,7 @@
  */
 @JCStressTest
 @Outcome(id = "object, object", expect = Expect.ACCEPTABLE, desc = "Seeing the set value.")
-@Outcome(expect = Expect.FORBIDDEN, desc = "Should see the set values only")
+@Outcome(expect = Expect.FORBIDDEN, desc = "Other values are forbidden.")
 @State
 public class StringTest {