Geometrize  1.0
An application for geometrizing images into geometric primitives
Functions
geometrize::test Namespace Reference

Functions

void setTestScriptDirectories (const std::vector< std::string > &scriptDirectories)
 setTestScriptDirectories Sets the directories containing self-test scripts to run More...
 
void addTestScriptDirectory (const std::string &scriptDirectory)
 addTestScriptDirectory Adds a directory containing scripts to run self-tests from More...
 
void runSelfTests ()
 runSelfTests Runs the self tests This periodically consumes and runs scripts from the directories specified by the calls to addTestScriptDirectory/setTestScriptDirectories It closes the application with QApplication::exit(0) when there are no scripts are left to run, or QApplication::exit(-1) in case of an error More...
 

Function Documentation

◆ addTestScriptDirectory()

void geometrize::test::addTestScriptDirectory ( const std::string &  scriptDirectory)

addTestScriptDirectory Adds a directory containing scripts to run self-tests from

Parameters
scriptDirectoryThe path to the directory containing scripts to run
75 {
76  ::scriptDirectories.emplace_back(scriptDirectory);
77  ::scriptPaths = geometrize::util::getScriptsForPaths(::scriptDirectories);
78 }
Here is the call graph for this function:

◆ runSelfTests()

void geometrize::test::runSelfTests ( )

runSelfTests Runs the self tests This periodically consumes and runs scripts from the directories specified by the calls to addTestScriptDirectory/setTestScriptDirectories It closes the application with QApplication::exit(0) when there are no scripts are left to run, or QApplication::exit(-1) in case of an error

81 {
82  QTimer* timer = new QTimer(QApplication::instance());
83  timer->start(2500);
84  QObject::connect(timer, &QTimer::timeout, [] {
85  if(scriptPaths.empty()) {
86  QApplication::exit(0);
87  }
88  const bool result = runNextTest();
89  if(!scriptPaths.empty() && !result) {
90  assert(0 && "Functional test script failed to run");
91  QApplication::exit(-1);
92  }
93  });
94 }

◆ setTestScriptDirectories()

void geometrize::test::setTestScriptDirectories ( const std::vector< std::string > &  scriptDirectories)

setTestScriptDirectories Sets the directories containing self-test scripts to run

Parameters
scriptDirectoriesA vector of paths to the directories containing scripts to run scripts
69 {
70  ::scriptDirectories = scriptDirectories;
71  ::scriptPaths = geometrize::util::getScriptsForPaths(::scriptDirectories);
72 }
Here is the call graph for this function:
geometrize::util::getScriptsForPaths
std::vector< std::string > getScriptsForPaths(const std::vector< std::string > &dirPaths)
getScriptsForPaths Gets the absolute file paths to the script files (*.chai) for the given directorie...
Definition: util.cpp:252