Isolate the functions for executing shell commands in a new ShellUtils
[lttng-ust-java-tests.git] / src / test / java / org / lttng / ust / agent / utils / MiscTestUtils.java
index dd5505c7effb06f203b83110edbf21db739246e9..cfd4a8e47c2f5de5796120c6324d188620d95e1f 100644 (file)
@@ -19,9 +19,6 @@
 package org.lttng.ust.agent.utils;
 
 import java.io.IOException;
-import java.lang.ProcessBuilder.Redirect;
-import java.nio.file.Files;
-import java.nio.file.Path;
 import java.util.Arrays;
 import java.util.List;
 
@@ -91,6 +88,12 @@ public final class MiscTestUtils {
         }
     }
 
+    /**
+     * Check if there is a user session daemon currently running on the system.
+     * It needs to be of the same user as the application running this program.
+     *
+     * @return If there is a user session daemon currently running
+     */
     public static boolean checkForUserSessiond() {
         String userName = System.getProperty("user.name");
 
@@ -98,48 +101,24 @@ public final class MiscTestUtils {
         String shortUserName = userName.substring(0, Math.min(userName.length(), 7));
 
         List<String> command = Arrays.asList("ps", "-e", "u");
-        List<String> output = getOutputFromCommand(false, command);
+        List<String> output = ShellUtils.getOutputFromCommand(false, command);
         return output.stream()
                 .filter(s -> s.contains("lttng-sessiond"))
                 .anyMatch(s -> s.startsWith(shortUserName));
     }
 
+    /**
+     * Check if there is a root user session daemon daemon currently running on
+     * the system.
+     *
+     * @return If there is a root session daemon currently running
+     */
     public static boolean checkForRootSessiond() {
         List<String> command = Arrays.asList("ps", "-e", "u");
-        List<String> output = getOutputFromCommand(false, command);
+        List<String> output = ShellUtils.getOutputFromCommand(false, command);
         return output.stream()
                 .filter(s -> s.contains("lttng-sessiond"))
                 .anyMatch(s -> s.startsWith("root"));
     }
 
-
-    static List<String> getOutputFromCommand(List<String> command) {
-        return MiscTestUtils.getOutputFromCommand(true, command);
-    }
-
-    static List<String> getOutputFromCommand(boolean print, List<String> command) {
-        try {
-            Path tempFile = Files.createTempFile("test-output", null);
-
-            ProcessBuilder builder = new ProcessBuilder(command);
-            builder.redirectErrorStream(true);
-            builder.redirectOutput(Redirect.to(tempFile.toFile()));
-
-            Process p = builder.start();
-            p.waitFor();
-
-            List<String> lines = Files.readAllLines(tempFile);
-            Files.delete(tempFile);
-
-            if (print) {
-                /* Also print the output to the console */
-                lines.stream().forEach(s -> System.out.println(s));
-            }
-
-            return lines;
-
-        } catch (IOException | InterruptedException e) {
-            return null;
-        }
-    }
 }
This page took 0.02476 seconds and 4 git commands to generate.