aboutsummaryrefslogtreecommitdiff
path: root/test/sun/nio
diff options
context:
space:
mode:
authorduke <none@none>2007-12-01 00:00:00 +0000
committerduke <none@none>2007-12-01 00:00:00 +0000
commit59308f67f9b7038cfa2ceb9ee9ba27645b927cb5 (patch)
tree182810ab2fece13f57a928d026f93e9ede0827f9 /test/sun/nio
Initial loadjdk7-b24
Diffstat (limited to 'test/sun/nio')
-rw-r--r--test/sun/nio/ch/Basic.java36
-rw-r--r--test/sun/nio/ch/SelProvider.java58
-rw-r--r--test/sun/nio/ch/TempBuffer.java93
3 files changed, 187 insertions, 0 deletions
diff --git a/test/sun/nio/ch/Basic.java b/test/sun/nio/ch/Basic.java
new file mode 100644
index 000000000..6bdb5a8c1
--- /dev/null
+++ b/test/sun/nio/ch/Basic.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2001 Sun Microsystems, Inc. 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/**
+ * @test
+ * @bug 4510690
+ * @summary Verify that nio is loaded after net.
+ */
+
+import java.nio.channels.Pipe;
+
+public class Basic {
+ public static void main(String[] args) throws Exception {
+ Pipe p = Pipe.open();
+ }
+}
diff --git a/test/sun/nio/ch/SelProvider.java b/test/sun/nio/ch/SelProvider.java
new file mode 100644
index 000000000..94ec79266
--- /dev/null
+++ b/test/sun/nio/ch/SelProvider.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2005 Sun Microsystems, Inc. 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/**
+ * @test
+ * @bug 6286011 6330315
+ * @summary Verify that appropriate SelectorProvider is selected.
+ */
+
+import java.nio.channels.spi.*;
+
+public class SelProvider {
+ public static void main(String[] args) throws Exception {
+ String osname = System.getProperty("os.name");
+ String osver = System.getProperty("os.version");
+ String spName = SelectorProvider.provider().getClass().getName();
+ String expected = null;
+ if ("SunOS".equals(osname)) {
+ expected = "sun.nio.ch.DevPollSelectorProvider";
+ } else if ("Linux".equals(osname)) {
+ String[] vers = osver.split("\\.", 0);
+ if (vers.length >= 2) {
+ int major = Integer.parseInt(vers[0]);
+ int minor = Integer.parseInt(vers[1]);
+ if (major > 2 || (major == 2 && minor >= 6)) {
+ expected = "sun.nio.ch.EPollSelectorProvider";
+ } else {
+ expected = "sun.nio.ch.PollSelectorProvider";
+ }
+ } else {
+ throw new RuntimeException("Test does not recognize this operating system");
+ }
+ } else
+ return;
+ if (!spName.equals(expected))
+ throw new Exception("failed");
+ }
+}
diff --git a/test/sun/nio/ch/TempBuffer.java b/test/sun/nio/ch/TempBuffer.java
new file mode 100644
index 000000000..2fbefc940
--- /dev/null
+++ b/test/sun/nio/ch/TempBuffer.java
@@ -0,0 +1,93 @@
+/*
+ * Copyright 2002-2003 Sun Microsystems, Inc. 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.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/* @test
+ * @bug 4738257 4853295
+ * @summary Test Util.getTemporaryBuffer
+ */
+
+import java.io.*;
+import java.nio.channels.*;
+import java.nio.*;
+
+public class TempBuffer {
+
+ private static final int SIZE = 4000;
+
+ private static final int ITERATIONS = 10;
+
+ public static void main(String[] args) throws Exception {
+ for (int i=0; i<ITERATIONS; i++)
+ testTempBufs();
+ }
+
+ private static void testTempBufs() throws Exception {
+ Pipe pipe = Pipe.open();
+ Pipe.SourceChannel sourceChannel = pipe.source();
+ final Pipe.SinkChannel sinkChannel = pipe.sink();
+
+ Thread writerThread = new Thread() {
+ public void run() {
+ try {
+ OutputStream out = Channels.newOutputStream(sinkChannel);
+ File blah = File.createTempFile("blah1", null);
+ blah.deleteOnExit();
+ TempBuffer.initTestFile(blah);
+ RandomAccessFile raf = new RandomAccessFile(blah, "rw");
+ FileChannel fs = raf.getChannel();
+ fs.transferTo(0, SIZE, Channels.newChannel(out));
+ out.flush();
+ } catch (IOException ioe) {
+ throw new RuntimeException(ioe);
+ }
+ }
+ };
+
+ writerThread.start();
+
+ InputStream in = Channels.newInputStream(sourceChannel);
+ File blah = File.createTempFile("blah2", null);
+ blah.deleteOnExit();
+ RandomAccessFile raf = new RandomAccessFile(blah, "rw");
+ FileChannel fs = raf.getChannel();
+ raf.setLength(SIZE);
+ fs.transferFrom(Channels.newChannel(in), 0, SIZE);
+ fs.close();
+ }
+
+ private static void initTestFile(File blah) throws IOException {
+ FileOutputStream fos = new FileOutputStream(blah);
+ BufferedWriter awriter
+ = new BufferedWriter(new OutputStreamWriter(fos, "8859_1"));
+
+ for(int i=0; i<4000; i++) {
+ String number = new Integer(i).toString();
+ for (int h=0; h<4-number.length(); h++)
+ awriter.write("0");
+ awriter.write(""+i);
+ awriter.newLine();
+ }
+ awriter.flush();
+ awriter.close();
+ }
+}