Path: blob/master/test/jdk/java/nio/channels/Pipe/NonBlocking.java
41152 views
/*1* Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation.7*8* This code is distributed in the hope that it will be useful, but WITHOUT9* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License11* version 2 for more details (a copy is included in the LICENSE file that12* accompanied this code).13*14* You should have received a copy of the GNU General Public License version15* 2 along with this work; if not, write to the Free Software Foundation,16* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.17*18* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA19* or visit www.oracle.com if you need additional information or have any20* questions.21*/2223/* @test24* @bug 445840125* @summary Ensure that the Pipe.{sink,source}() methods don't create26* superfluous channel objects27* @library ..28*/2930import java.io.*;31import java.nio.*;32import java.nio.channels.*;333435public class NonBlocking {3637public static void main(String[] args) throws Exception {38test1();39}4041static void test1() throws Exception {42Pipe p = Pipe.open();43try {44p.sink().configureBlocking(false);45if (p.sink().isBlocking())46throw new Exception("Sink still blocking");47p.source().configureBlocking(false);48if (p.source().isBlocking())49throw new Exception("Source still blocking");50} finally {51p.sink().close();52p.source().close();53}54}5556}575859