On Tue, 22 Mar 2022 17:59:15 GMT, Brent Christian <bchri...@openjdk.org> wrote:
> Please review this change to the java/util/prefs/AddNodeChangeListener.jar > test. > > Although the test specifies "-Djava.util.prefs.userRoot=." to ensure a fresh > Preferences on each test run, MacOS does not seem to honor this, and still > stores prefs in Library/. > > This test has long suffered intermittent failures. 8255031 added some > debugging code; as of that change, the test fails fast as soon as an expected > change event is not received. In particular, if the expected event is not > received for adding the node, the test exits without removing the node. In > this way, on Mac, the node can get "stuck" in the preferences of the machine. > Future runs on the machine will already have the node, no node added change > event will be generated (because the node was already there), the test will > continue to fail without removing the node, etc. This matches observations on > some CI machines. > > This change ensures that: > * the test node is not present before the test > * the test runs to completion, including removing the test node > * the test node is not left behind after the test > > Thanks. Looks good to me. test/jdk/java/util/prefs/AddNodeChangeListener.java line 63: > 61: } finally { > 62: // Make sure test node is not present after the test > 63: clearPrefs(); If this call throws a `RuntimeException("Unable to clear...")`, it will override the possible `RuntimeException("Failed")` in the `try` block, but I think it is OK. ------------- Marked as reviewed by naoto (Reviewer). PR: https://git.openjdk.java.net/jdk/pull/7908