< prev index next >
test/jdk/java/util/prefs/CheckUserPrefsStorage.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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.
@@ -19,23 +19,54 @@
* 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.
*/
+/*
+ * @test
+ * @bug 7198073 7197662
+ * @summary Tests that user preferences are stored in the permanent storage
+ * @library /test/lib
+ * @run main/othervm -Djava.util.prefs.userRoot=. CheckUserPrefsStorage
+ */
+
import java.util.prefs.Preferences;
-/**
- *
- * @author khazra
- * First class called by CheckUserPrefsStorage.sh to create and
- * store a user preference
- */
+import jdk.test.lib.process.ProcessTools;
+
+public class CheckUserPrefsStorage {
-public class CheckUserPrefFirst {
+ private static final Class PREF_NODE = CheckUserPrefsStorage.class;
+ private static final String KEY = "Check";
+ private static final String VALUE = "Success";
+ private static final Preferences prefs = Preferences.userNodeForPackage(PREF_NODE);
- public static void main(String[] args) throws Exception {
- Preferences prefs = Preferences.userNodeForPackage(CheckUserPrefFirst.class);
- prefs.put("Check", "Success");
+ public static void main(String[] args) throws Throwable {
+ if (args.length == 0) {
+ createPref(KEY, VALUE);
+ ProcessTools.executeTestJvm("-Djava.util.prefs.userRoot=.",
+ PREF_NODE.getName(),
+ KEY,
+ VALUE)
+ .outputTo(System.out)
+ .errorTo(System.out)
+ .shouldHaveExitValue(0);
+ } else {
+ checkPref(args[0], args[1]);
+ }
+ }
+
+ public static void createPref(String key, String value) throws Exception {
+ prefs.put(key, value);
prefs.flush();
}
-}
+ public static void checkPref(String key, String value) throws Exception {
+ String result = prefs.get(key, null);
+ if ((result == null) || !(result.equals(value))) {
+ throw new RuntimeException("User pref not stored!");
+ }
+ prefs.remove(key);
+ prefs.flush();
+ }
+
+}
< prev index next >