File: vtkRegressionTestImage.h

package info (click to toggle)
paraview 5.13.2%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 544,220 kB
  • sloc: cpp: 3,374,605; ansic: 1,332,409; python: 150,381; xml: 122,166; sql: 65,887; sh: 7,317; javascript: 5,262; yacc: 4,417; java: 3,977; perl: 2,363; lex: 1,929; f90: 1,397; makefile: 170; objc: 153; tcl: 59; pascal: 50; fortran: 29
file content (47 lines) | stat: -rw-r--r-- 2,352 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
// SPDX-License-Identifier: BSD-3-Clause
#ifndef vtkRegressionTestImage_h
#define vtkRegressionTestImage_h

// Includes and a macro necessary for saving the image produced by a cxx
// example program. This capability is critical for regression testing.
// This function returns 1 if test passed, 0 if test failed.

#include "vtkTesting.h"

VTK_ABI_NAMESPACE_BEGIN
class vtkRegressionTester : public vtkTesting
{
protected:
  vtkRegressionTester() = default;
  ~vtkRegressionTester() override = default;

private:
  vtkRegressionTester(const vtkRegressionTester&) = delete;
  void operator=(const vtkRegressionTester&) = delete;
};

// 0.05 threshold is arbitrary but found to
// allow most graphics system variances to pass
// when they should and fail when they should
#define vtkRegressionTestImage(rw) vtkTesting::Test(argc, argv, rw, 0.05)

#define vtkRegressionTestImageThreshold(rw, t) vtkTesting::Test(argc, argv, rw, t)

#define vtkRegressionTestPassForMesaLessThan(rw, major, minor, patch)                              \
  do                                                                                               \
  {                                                                                                \
    int mesaVersion[3] = {};                                                                       \
    if (vtkTesting::GetMesaVersion(rw, mesaVersion))                                               \
    {                                                                                              \
      if (mesaVersion[0] < major || (mesaVersion[0] == major && mesaVersion[1] < minor) ||         \
        (mesaVersion[0] == major && mesaVersion[1] == minor && mesaVersion[2] < patch))            \
      {                                                                                            \
        return EXIT_SUCCESS;                                                                       \
      }                                                                                            \
    }                                                                                              \
  } while (false)

VTK_ABI_NAMESPACE_END
#endif // vtkRegressionTestImage_h
// VTK-HeaderTest-Exclude: vtkRegressionTestImage.h