1SET(CMAKE_TESTDRIVER_BEFORE_TESTMAIN
2"
3    // Set defaults
4    vtkTestingInteractor::ValidBaseline = \"Use_-V_for_Baseline\";
5    vtkTestingInteractor::TempDirectory =
6      std::string(\"${VTK_TEST_OUTPUT_DIR}\");
7    vtkTestingInteractor::DataDirectory = std::string(\"Use_-D_for_Data\");
8
9    int interactive = 0;
10    for (int ii = 0; ii < ac; ++ii)
11      {
12      if (strcmp(av[ii], \"-I\") == 0)
13        {
14        interactive = 1;
15        continue;
16        }
17      if (strcmp(av[ii], \"-V\") == 0 && ii < ac-1)
18        {
19        vtkTestingInteractor::ValidBaseline = std::string(av[++ii]);
20        continue;
21        }
22      if (strcmp(av[ii], \"-T\") == 0 && ii < ac-1)
23        {
24        vtkTestingInteractor::TempDirectory = std::string(av[++ii]);
25        continue;
26        }
27      if (strcmp(av[ii], \"-D\") == 0 && ii < ac-1)
28        {
29        vtkTestingInteractor::DataDirectory = std::string(av[++ii]);
30        continue;
31        }
32      if (strcmp(av[ii], \"-E\") == 0 && ii < ac-1)
33        {
34        vtkTestingInteractor::ErrorThreshold =
35            static_cast<double>(atof(av[++ii]));
36        continue;
37        }
38      }
39    vtkSmartPointer<vtkTestingObjectFactory> factory = vtkSmartPointer<vtkTestingObjectFactory>::New();
40    if (!interactive)
41      {
42      // Disable any other overrides before registering our factory.
43      vtkObjectFactoryCollection *collection = vtkObjectFactory::GetRegisteredFactories();
44      collection->InitTraversal();
45      vtkObjectFactory *f = collection->GetNextItem();
46      while (f)
47        {
48        f->Disable(\"vtkRenderWindowInteractor\");
49        f = collection->GetNextItem();
50        }
51      vtkObjectFactory::RegisterFactory(factory);
52      }
53"
54)
55
56SET(CMAKE_TESTDRIVER_AFTER_TESTMAIN
57"
58   if (!interactive)
59     {
60     if (vtkTestingInteractor::TestReturnStatus != -1)
61        {
62        if (vtkTestingInteractor::TestReturnStatus != vtkTesting::PASSED)
63          {
64          result = EXIT_FAILURE;
65          }
66        else
67          {
68          result = EXIT_SUCCESS;
69          }
70        }
71      vtkObjectFactory::UnRegisterFactory(factory);
72      }
73"
74)
75