]> gerrit.simantics Code Review - simantics/3d.git/blob - vtk/src/vtk/vtkTesting2.java
ef21ca5bf67199eb565bb7ec2dc1a9cdfa325709
[simantics/3d.git] / vtk / src / vtk / vtkTesting2.java
1 package vtk;\r
2 import java.io.File;\r
3 \r
4 import java.util.Properties;\r
5 \r
6 public class vtkTesting2\r
7 {\r
8   public static final int FAILED        = 0;\r
9   public static final int PASSED        = 1;\r
10   public static final int NOT_RUN       = 2;\r
11   public static final int DO_INTERACTOR = 3;\r
12 \r
13   private static int LoadLib(String lib, boolean verbose)\r
14     {\r
15     try\r
16       {\r
17       if ( verbose )\r
18         {\r
19         System.out.println("Try to load: " + lib);\r
20         }\r
21       Runtime.getRuntime().load(lib);\r
22       }\r
23     catch (UnsatisfiedLinkError e)\r
24       {\r
25       if ( verbose )\r
26         {\r
27         System.out.println("Failed to load: " + lib);\r
28         }\r
29       return 0;\r
30       }\r
31     if ( verbose )\r
32       {\r
33       System.out.println("Successfully loaded: " + lib);\r
34       }\r
35     return 1;\r
36     }\r
37 \r
38   private static void LoadLibrary(String path, String library, boolean verbose)\r
39     {\r
40     String lname = System.mapLibraryName(library);\r
41     String sep = System.getProperty("file.separator");\r
42     String libname = path + sep + lname;\r
43     String releaselibname = path + sep + "Release" + sep + lname;\r
44     String debuglibname = path + sep + "Debug" + sep + lname;\r
45     if ( vtkTesting2.LoadLib(library, verbose) != 1 &&\r
46       vtkTesting2.LoadLib(libname, verbose) != 1 &&\r
47       vtkTesting2.LoadLib(releaselibname, verbose) != 1 &&\r
48       vtkTesting2.LoadLib(debuglibname, verbose) != 1 )\r
49       {\r
50       System.out.println("Problem loading apropriate library");\r
51       }\r
52     }\r
53 \r
54   public static void Initialize(String[] args)\r
55     {\r
56     vtkTesting2.Initialize(args, false);\r
57     }\r
58 \r
59   public static void Initialize(String[] args, boolean verbose)\r
60     {\r
61     String lpath = vtkSettings.GetVTKLibraryDir();\r
62     if ( lpath != null )\r
63       {\r
64       String path_separator = System.getProperty("path.separator");\r
65       String s = System.getProperty("java.library.path");\r
66       s = s + path_separator + lpath;\r
67       System.setProperty("java.library.path", s);\r
68       }\r
69     String lname = System.mapLibraryName("vtkCommonJava");\r
70     String[] kits = vtkSettings.GetKits();\r
71     int cc;\r
72     for ( cc = 0; cc < kits.length; cc ++ )\r
73       {\r
74       vtkTesting2.LoadLibrary(lpath, "vtk" + kits[cc] + "Java", verbose); \r
75       }\r
76     vtkTesting2.Tester = new vtk.vtkTesting();\r
77     for ( cc = 0; cc < args.length; cc ++ )\r
78       {\r
79       vtkTesting2.Tester.AddArgument(args[cc]);\r
80       }\r
81     }\r
82 \r
83   public static boolean IsInteractive()\r
84     {\r
85     if ( vtkTesting2.Tester.IsInteractiveModeSpecified() == 0 )\r
86       {\r
87       return false;\r
88       }\r
89     return true;\r
90     }\r
91 \r
92   public static void Exit(int retVal)\r
93     {\r
94     if ( retVal == vtkTesting2.FAILED || retVal == vtkTesting2.NOT_RUN )\r
95       {\r
96       System.out.println("Test failed or was not run");\r
97       System.exit(1);\r
98       }\r
99     System.out.println("Test passed");\r
100     System.exit(0);\r
101     }\r
102 \r
103   public static int RegressionTest( vtkRenderWindow renWin, int threshold )\r
104     {\r
105     vtkTesting2.Tester.SetRenderWindow(renWin);\r
106 \r
107     if (vtkTesting2.Tester.RegressionTest(threshold) == vtkTesting2.PASSED ) \r
108       {\r
109       return vtkTesting2.PASSED;\r
110       } \r
111     System.out.println("Image difference: " + vtkTesting2.Tester.GetImageDifference());\r
112     return vtkTesting2.FAILED;\r
113     }\r
114 \r
115 \r
116   private static vtkTesting Tester = null;\r
117 }\r