Author: msahyoun
Date: Fri May  7 06:35:53 2021
New Revision: 1889594

URL: http://svn.apache.org/viewvc?rev=1889594&view=rev
Log:
PDFBOX-5181: split tests; run tests dependent on GraphicsEnvironment.isHeadless

Added:
    
pdfbox/trunk/tools/src/test/java/org/apache/pdfbox/tools/PDFBoxNonHeadlessTest.java
Modified:
    
pdfbox/trunk/tools/src/test/java/org/apache/pdfbox/tools/PDFBoxHeadlessTest.java

Modified: 
pdfbox/trunk/tools/src/test/java/org/apache/pdfbox/tools/PDFBoxHeadlessTest.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/tools/src/test/java/org/apache/pdfbox/tools/PDFBoxHeadlessTest.java?rev=1889594&r1=1889593&r2=1889594&view=diff
==============================================================================
--- 
pdfbox/trunk/tools/src/test/java/org/apache/pdfbox/tools/PDFBoxHeadlessTest.java
 (original)
+++ 
pdfbox/trunk/tools/src/test/java/org/apache/pdfbox/tools/PDFBoxHeadlessTest.java
 Fri May  7 06:35:53 2021
@@ -17,6 +17,7 @@
 package org.apache.pdfbox.tools;
 
 import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assumptions.assumeTrue;
 import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
 
 import java.awt.GraphicsEnvironment;
@@ -24,6 +25,7 @@ import java.io.ByteArrayOutputStream;
 import java.io.PrintStream;
 
 import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
@@ -38,8 +40,15 @@ class PDFBoxHeadlessTest
     final ByteArrayOutputStream out = new ByteArrayOutputStream();
     final ByteArrayOutputStream err = new ByteArrayOutputStream();
 
+    @BeforeAll
+    public static void setHeadless()
+    {
+        System.setProperty("java.awt.headless", "true");
+    } 
+
     @BeforeEach
-    public void setUpStreams() {
+    public void setUpStreams()
+    {
         out.reset();
         err.reset();
         System.setOut(new PrintStream(out));
@@ -47,7 +56,8 @@ class PDFBoxHeadlessTest
     }
 
     @AfterEach
-    public void restoreStreams() {
+    public void restoreStreams()
+    {
         System.setOut(originalOut);
         System.setErr(originalErr);
     }
@@ -55,24 +65,15 @@ class PDFBoxHeadlessTest
     @Test
     void isHeadlessTest()
     {
-        System.setProperty("java.awt.headless", "true");
+        assumeTrue(GraphicsEnvironment.isHeadless(), "couldn't set headless 
skipping test");
         assertTrue(GraphicsEnvironment.isHeadless());
     }
 
     @Test
-    void isNonHeadlessPDFBoxTest()
-    {
-        final String[] args = {"debug"};
-        assertDoesNotThrow(() -> {
-            PDFBox.main(args);
-        });
-    }
-
-    @Test
     void isHeadlessPDFBoxTest()
     {
-        System.setProperty("java.awt.headless", "true");
         final String[] args = {"debug"};
+        assumeTrue(GraphicsEnvironment.isHeadless(), "couldn't set headless 
skipping test");
         assertDoesNotThrow(() -> {
             PDFBox.main(args);
         });

Added: 
pdfbox/trunk/tools/src/test/java/org/apache/pdfbox/tools/PDFBoxNonHeadlessTest.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/tools/src/test/java/org/apache/pdfbox/tools/PDFBoxNonHeadlessTest.java?rev=1889594&view=auto
==============================================================================
--- 
pdfbox/trunk/tools/src/test/java/org/apache/pdfbox/tools/PDFBoxNonHeadlessTest.java
 (added)
+++ 
pdfbox/trunk/tools/src/test/java/org/apache/pdfbox/tools/PDFBoxNonHeadlessTest.java
 Fri May  7 06:35:53 2021
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.pdfbox.tools;
+
+import static org.junit.jupiter.api.Assumptions.assumeFalse;
+import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+
+import java.awt.GraphicsEnvironment;
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
+
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+/**
+ * Test for running the PDFBox CLI in a headless environment.
+ *
+ */
+class PDFBoxNonHeadlessTest
+{
+    final PrintStream originalOut = System.out;
+    final PrintStream originalErr = System.err;
+    final ByteArrayOutputStream out = new ByteArrayOutputStream();
+    final ByteArrayOutputStream err = new ByteArrayOutputStream();
+
+    @BeforeEach
+    public void setUpStreams()
+    {
+        out.reset();
+        err.reset();
+        System.setOut(new PrintStream(out));
+        System.setErr(new PrintStream(err));
+    }
+
+    @AfterEach
+    public void restoreStreams()
+    {
+        System.setOut(originalOut);
+        System.setErr(originalErr);
+    }
+   
+    @Test
+    void isNonHeadlessTest()
+    {
+        assumeFalse(GraphicsEnvironment.isHeadless(), "running in a headless 
environment skipping test");
+        assertFalse(GraphicsEnvironment.isHeadless());
+    }
+
+    @Test
+    void isNonHeadlessPDFBoxTest()
+    {
+        final String[] args = {"debug"};
+        assumeFalse(GraphicsEnvironment.isHeadless(), "running in a headless 
environment skipping test");
+        assertDoesNotThrow(() -> {
+            PDFBox.main(args);
+        });
+        assertFalse(err.toString().contains("Unmatched argument at index 0: 
'debug'"));
+    }
+}


Reply via email to