Package: Utils

Utils

nameinstructionbranchcomplexitylinemethod
Utils()
M: 3 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 1 C: 0
0%
M: 1 C: 0
0%
inheritOutput(Process)
M: 9 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
isInt(String)
M: 8 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 4 C: 0
0%
M: 1 C: 0
0%
milliPause(int)
M: 6 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
parseInt(String)
M: 6 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%
pause(int)
M: 5 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 2 C: 0
0%
M: 1 C: 0
0%
pipe(InputStream, PrintStream)
M: 10 C: 0
0%
M: 0 C: 0
100%
M: 1 C: 0
0%
M: 3 C: 0
0%
M: 1 C: 0
0%

Coverage

1: /*
2: * #%~
3: * Combinatorial Testing
4: * %%
5: * Copyright (C) 2008 - 2014 Overture
6: * %%
7: * This program is free software: you can redistribute it and/or modify
8: * it under the terms of the GNU General Public License as
9: * published by the Free Software Foundation, either version 3 of the
10: * License, or (at your option) any later version.
11: *
12: * This program is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of
14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15: * GNU General Public License for more details.
16: *
17: * You should have received a copy of the GNU General Public
18: * License along with this program. If not, see
19: * <http://www.gnu.org/licenses/gpl-3.0.html>.
20: * #~%
21: */
22: package org.overture.combinatorialtesting.vdmj.server.common;
23:
24: import java.io.IOException;
25: import java.io.InputStream;
26: import java.io.PrintStream;
27:
28: public class Utils
29: {
30:         public static void pause(int secs)
31:         {
32:                 milliPause(secs * 1000);
33:         }
34:
35:         public static void milliPause(int millis)
36:         {
37:                 try
38:                 {
39:                         Thread.sleep(millis);
40:                 } catch (InterruptedException e)
41:                 {
42:                         // ?
43:                 }
44:         }
45:
46:         public static boolean isInt(String s)
47:         {
48:                 try
49:                 {
50:                         Integer.parseInt(s);
51:                         return true;
52:                 } catch (NumberFormatException e)
53:                 {
54:                         return false;
55:                 }
56:         }
57:
58:         public static int parseInt(String s)
59:         {
60:                 try
61:                 {
62:                         return Integer.parseInt(s);
63:                 } catch (NumberFormatException e)
64:                 {
65:                         return 0;
66:                 }
67:         }
68:
69:         /*
70:          * This method intends to provide some of the functionality provided by ProcessBuilder.inheritIO(), which is Java7
71:          * specific. This method is inspired by the question at Stackoverflow:
72:          * http://stackoverflow.com/questions/60302/starting-a-process-with-inherited-stdin-stdout-stderr-in-java-6
73:          */
74:         public static void inheritOutput(Process process)
75:         {
76:                 pipe(process.getErrorStream(), System.err);
77:                 pipe(process.getInputStream(), System.out);
78:         }
79:
80:         private static void pipe(final InputStream src, final PrintStream dest)
81:         {
82:                 new Thread(new Runnable()
83:                 {
84:                         public void run()
85:                         {
86:                                 try
87:                                 {
88:                                         byte[] buffer = new byte[1024];
89:                                         for (int n = 0; n != -1; n = src.read(buffer))
90:                                         {
91:                                                 dest.write(buffer, 0, n);
92:                                         }
93:                                 } catch (IOException e)
94:                                 { // just exit
95:                                 }
96:                         }
97:                 }).start();
98:         }
99:
100: }