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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
#include "testdeletesolver.h"
//Includes for this project
#include "structuredefinitions.h"
#include "stellarsolver.h"
#include "ssolverutils/fileio.h"
TestDeleteSolver::TestDeleteSolver()
{
runCrashTest("pleiades.jpg");
printf("No Crash test 1!\n");
fflush( stdout );
runCrashTestStarExtract("pleiades.jpg");
printf("No Crash test 2!\n");
fflush( stdout );
runCrashTest("randomsky.fits");
printf("No Crash test 3!\n");
fflush( stdout );
runCrashTestStarExtract("randomsky.fits");
printf("No Crash test 4!\n");
fflush( stdout );
exit(0);
}
void TestDeleteSolver::runCrashTest(QString fileName)
{
fileio imageLoader;
if(!imageLoader.loadImage(fileName))
{
printf("Error in loading file");
exit(1);
}
StellarSolver stellarSolver;
stellarSolver.loadNewImageBuffer(imageLoader.getStats(), imageLoader.getImageBuffer());
stellarSolver.setProperty("ProcessType", SSolver::SOLVE);
stellarSolver.setParameterProfile(SSolver::Parameters::PARALLEL_SMALLSCALE);
stellarSolver.setIndexFolderPaths(QStringList() << "astrometry");
printf("Starting to solve. . .\n");
fflush( stdout );
stellarSolver.start();
//Note: This could cause a crash because it will delete StellarSolver while the threads are running.
}
void TestDeleteSolver::runCrashTestStarExtract(QString fileName)
{
fileio imageLoader;
if(!imageLoader.loadImage(fileName))
{
printf("Error in loading file");
exit(1);
}
StellarSolver stellarSolver;
stellarSolver.loadNewImageBuffer(imageLoader.getStats(), imageLoader.getImageBuffer());
stellarSolver.setProperty("ProcessType", SSolver::EXTRACT_WITH_HFR);
stellarSolver.setParameterProfile(SSolver::Parameters::ALL_STARS);
printf("Starting to extract. . .\n");
fflush( stdout );
stellarSolver.start();
//Note: This could cause a crash because it will delete StellarSolver while the threads are running.
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
#if defined(__linux__)
setlocale(LC_NUMERIC, "C");
#endif
TestDeleteSolver *demo = new TestDeleteSolver();
app.exec();
delete demo;
return 0;
}
|