<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Not exactly.<br>
    <br>
    previous algorithm:<br>
    <font face="Courier New, Courier, monospace"><br>
      72: int seed = new Random().nextInt(); <i>//<-- No seed
        provided</i><i>. No chance to reproduce issue with same seed</i><br>
      <br>
      86: runTest( << some VM options >>, seed)<i> // run
        test with one set of VM options</i><br>
      89: 86: runTest( << other VM options >>, seed) <i>//
        run test with other VM options but with same seed</i><br>
      <br>
      144: new Integer(seed).toString(),<i> // add seed to command line</i><br>
      <br>
      189: Random rng = new Random(Integer.valueOf(args[1])); <i>//
        <-- here args[1] == new Integer(seed).toString()</i></font><br>
    <br>
    In previous version seed passes via command line. In new version:<br>
    <br>
    <font face="Courier New, Courier, monospace">74: int seed =
      Utils.getRandomInstance().nextInt(); <i>// We able to get same
        seed for different runs. Just provide system property.</i><br>
      <br>
      90: runTest( << some VM options >>, seed)<i> // run
        test with one set of VM options</i> <br>
      93: 86: runTest( << other VM options >>, seed) <i>//
        run test with other VM options but with same seed</i><br>
      <br>
      146: "-D" + Utils.SEED_PROPERTY_NAME + "=" + seed, // Pass seed
      into system property for subsequent calls<br>
      <br>
      194: runTests(expr, iterations, Utils.getRandomInstance()); //
      using seed that passed in line 146.</font><br>
    <br>
    <div class="moz-cite-prefix">On 20.09.2014 00:58, David Chase wrote:<br>
    </div>
    <blockquote
      cite="mid:1883DCA8-B8A4-41C6-B30E-BE26956B068A@oracle.com"
      type="cite">
      <pre wrap="">I looked hard at Utils.java, that code looks fine.

A question about BMITestRunner.java  I see
76         int seed = Utils.getRandomInstance().nextInt();

146                 "-D" + Utils.SEED_PROPERTY_NAME + "=" + seed,

But is it guaranteed that
   (new Random(seed)).nextInt() == seed?
which is what I think this accomplishes?

I just checked, it seems not to be true, so this is not correct re-run advice.</pre>
    </blockquote>
    <br>
    Did you add -Dc.o.j.testlibrary.random.seed=<somevalue> to the
    command line?<br>
    <br>
    To verify please run below class:<br>
    <br>
    public class NewClass {<br>
     static long seed = -1;<br>
    <br>
     public static void main(String[] args) {<br>
     System.out.println(new Random(seed).nextInt());<br>
     }<br>
    }<br>
    <br>
    In my case it always printing out value: 1155099827<br>
    <br>
    <blockquote
      cite="mid:1883DCA8-B8A4-41C6-B30E-BE26956B068A@oracle.com"
      type="cite">
      <pre wrap="">
Should Utils.java provide a method for obtaining the seed that was used
so it may be queried, also?

David (not a Reviewer)

On 2014-09-19, at 9:57 AM, Sergei Kovalev <a class="moz-txt-link-rfc2396E" href="mailto:sergei.kovalev@oracle.com"><sergei.kovalev@oracle.com></a> wrote:

</pre>
      <blockquote type="cite">
        <pre wrap="">Hi All,

I'm working for CR <a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8044186">https://bugs.openjdk.java.net/browse/JDK-8044186</a> that submitted against tests.

There's the several tests which use randomly generated numbers. It's needed to introduce a way that provide a common manner to reproduce the same random sequence, set seed.

There are two possible way to provide seed value:
- system property
- command line arguments.

I chose system property to provide seed value because it could be obtained in any part of code without additional effort. In case passing seed value as command line argument we have to introduce additional logic (and unwanted code) to pass this value in appropriate method.

I introduced factory method getRandomInstance in the file Utility.java and make reference to this method in all applicable tests.
There is other utility class: Verifier.java. It used in several other testcases from test/compiler/intrinsics/mathexact/ package. Therefore many files contains modifications only for jtreg annotations.

I've tested all related tests locally. All tests passed and seed value printed to the logs.

links:
bug: <a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8044186">https://bugs.openjdk.java.net/browse/JDK-8044186</a>
webrev: <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~vlivanov/kovalev/8044186/webrev.00/">http://cr.openjdk.java.net/~vlivanov/kovalev/8044186/webrev.00/</a>

-- 
With best regards,
Sergei

</pre>
      </blockquote>
      <pre wrap="">
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
With best regards,
Sergei</pre>
  </body>
</html>