test/java/nio/file/Files/BytesAndLines.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013 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.
@@ -20,11 +20,11 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/* @test
- * @bug 7006126
+ * @bug 7006126 8020669
* @summary Unit test for methods for Files readAllBytes, readAllLines and
* and write methods.
*/
import java.nio.file.*;
@@ -80,10 +80,20 @@
try {
OpenOption[] opts = { null };
write(file, lines, Charset.defaultCharset(), opts);
throw new RuntimeException("NullPointerException expected");
} catch (NullPointerException ignore) { }
+
+ // read from procfs
+ if (System.getProperty("os.name").equals("Linux")) {
+ // Refer to the Linux proc(5) man page for details about /proc/self/stat file
+ // procfs reports it to be zero sized, even though data can be read from it
+ String statFile = "/proc/self/stat";
+ Path pathStat = Paths.get(statFile);
+ byte[] data = Files.readAllBytes(pathStat);
+ assertTrue(data.length > 0, "Files.readAllBytes('" + statFile + "') failed to read");
+ }
}
static void testReadAndWriteBytes(int size) throws IOException {
Path path = createTempFile("blah", null);
@@ -172,10 +182,20 @@
try {
readAllLines(tmpfile, null);
throw new RuntimeException("NullPointerException expected");
} catch (NullPointerException ignore) { }
+ // read from procfs
+ if (System.getProperty("os.name").equals("Linux")) {
+ // Refer to the Linux proc(5) man page for details about /proc/self/status file
+ // procfs reports this file to be zero sized, even though data can be read from it
+ String statusFile = "/proc/self/status";
+ Path pathStatus = Paths.get(statusFile);
+ lines = Files.readAllLines(pathStatus, US_ASCII);
+ assertTrue(lines.size() > 0, "Files.readAllLines('" + pathStatus + "') failed to read");
+ }
+
} finally {
delete(tmpfile);
}
}