diff --git a/tools/auto-tester/src/Test.cpp b/tools/auto-tester/src/Test.cpp index 1e76c19303..4f02544c12 100644 --- a/tools/auto-tester/src/Test.cpp +++ b/tools/auto-tester/src/Test.cpp @@ -27,7 +27,8 @@ Test::Test() { mismatchWindow.setModal(true); if (autoTester) { - autoTester->loadBranchCombo(GIT_HUB_BRANCHES); + autoTester->setUserText("highfidelity"); + autoTester->setBranchText("master"); } } @@ -176,7 +177,7 @@ void Test::appendTestResultsToFile(const QString& testResultsFolderPath, TestFai comparisonImage.save(failureFolderPath + "/" + "Difference Image.png"); } -void Test::startTestsEvaluation(const QString& testFolder, const QString& branchFromCommandLine) { +void Test::startTestsEvaluation(const QString& testFolder, const QString& branchFromCommandLine, const QString& userFromCommandLine) { if (testFolder.isNull()) { // Get list of JPEG images in folder, sorted by name QString previousSelection = snapshotDirectory; @@ -213,7 +214,8 @@ void Test::startTestsEvaluation(const QString& testFolder, const QString& branch expectedImagesFilenames.clear(); expectedImagesFullFilenames.clear(); - QString branch = (branchFromCommandLine.isNull()) ? autoTester->getSelectedBranch() : branchFromCommandLine ; + QString branch = (branchFromCommandLine.isNull()) ? autoTester->getSelectedBranch() : branchFromCommandLine; + QString user = (userFromCommandLine.isNull()) ? autoTester->getSelectedUser() : userFromCommandLine; foreach(QString currentFilename, sortedTestResultsFilenames) { QString fullCurrentFilename = snapshotDirectory + "/" + currentFilename; @@ -227,7 +229,7 @@ void Test::startTestsEvaluation(const QString& testFolder, const QString& branch QString expectedImageFilenameTail = currentFilename.left(currentFilename.length() - 4).right(NUM_DIGITS); QString expectedImageStoredFilename = EXPECTED_IMAGE_PREFIX + expectedImageFilenameTail + ".png"; - QString imageURLString("https://raw.githubusercontent.com/" + GIT_HUB_USER + "/hifi_tests/" + branch + "/" + + QString imageURLString("https://raw.githubusercontent.com/" + user + "/" + GIT_HUB_REPOSITORY + "/" + branch + "/" + expectedImagePartialSourceDirectory + "/" + expectedImageStoredFilename); expectedImagesURLs << imageURLString; @@ -301,7 +303,7 @@ void Test::includeTest(QTextStream& textStream, const QString& testPathname) { QString partialPath = extractPathFromTestsDown(testPathname); QString partialPathWithoutTests = partialPath.right(partialPath.length() - 7); - textStream << "Script.include(repositoryPath + \"" << partialPathWithoutTests + "\");" << endl; + textStream << "Script.include(testsRootPath + \"" << partialPathWithoutTests + "\");" << endl; } // Creates a single script in a user-selected folder. @@ -397,10 +399,14 @@ void Test::createRecursiveScript(const QString& topLevelDirectory, bool interact textStream << "// This is an automatically generated file, created by auto-tester on " << QDateTime::currentDateTime().toString(DATE_TIME_FORMAT) << endl << endl; // Include 'autoTest.js' - textStream << "Script.include(\"https://raw.githubusercontent.com/highfidelity/hifi_tests/master/tests/utils/branchUtils.js\");" << endl; + QString branch = autoTester->getSelectedBranch(); + QString user = autoTester->getSelectedUser(); + + textStream << "PATH_TO_THE_REPO_PATH_UTILS_FILE = \"https://raw.githubusercontent.com/" + user + "/hifi_tests/" + branch + "/tests/utils/branchUtils.js\";" << endl; + textStream << "Script.include(PATH_TO_THE_REPO_PATH_UTILS_FILE);" << endl; textStream << "var autoTester = createAutoTester(Script.resolvePath(\".\"));" << endl << endl; - textStream << "var repositoryPath = autoTester.getRepositoryPath();" << endl << endl; + textStream << "var testsRootPath = autoTester.getTestsRootPath();" << endl << endl; // Wait 10 seconds before starting textStream << "if (typeof Test !== 'undefined') {" << endl; diff --git a/tools/auto-tester/src/Test.h b/tools/auto-tester/src/Test.h index 94d868338d..5c6d3e5686 100644 --- a/tools/auto-tester/src/Test.h +++ b/tools/auto-tester/src/Test.h @@ -37,7 +37,7 @@ class Test { public: Test(); - void startTestsEvaluation(const QString& testFolder = QString(), const QString& branchFromCommandLine = QString()); + void startTestsEvaluation(const QString& testFolder = QString(), const QString& branchFromCommandLine = QString(), const QString& userFromCommandLine = QString()); void finishTestsEvaluation(bool isRunningFromCommandline, bool interactiveMode, QProgressBar* progressBar); void createRecursiveScript(); @@ -102,12 +102,8 @@ private: QStringList resultImagesFullFilenames; // Used for accessing GitHub - const QString GIT_HUB_USER{ "highfidelity" }; const QString GIT_HUB_REPOSITORY{ "hifi_tests" }; - // The branch is user-selected - const QStringList GIT_HUB_BRANCHES{ "master", "RC69" }; - const QString DATETIME_FORMAT{ "yyyy-MM-dd_hh-mm-ss" }; ExtractedText getTestScriptLines(QString testFileName); diff --git a/tools/auto-tester/src/main.cpp b/tools/auto-tester/src/main.cpp index e01cd21f77..ed7f4b4e74 100644 --- a/tools/auto-tester/src/main.cpp +++ b/tools/auto-tester/src/main.cpp @@ -19,11 +19,17 @@ int main(int argc, char *argv[]) { // Parameter --testFolder // Parameter --branch // default is "master" - // + // Parameter --user + // default is "highfidelity" + // Parameter --repository + // default is "highfidelity" + QString testFolder; - QString branch; - if (argc > 2) { - for (int i = 1; i < argc - 1; ++i) + + QString branch{ "master" }; + QString user{ "highfidelity" }; + + for (int i = 1; i < argc - 1; ++i) { if (QString(argv[i]) == "--testFolder") { ++i; if (i < argc) { @@ -40,6 +46,14 @@ int main(int argc, char *argv[]) { std::cout << "Missing parameter after --branch" << endl; exit(-1); } + } else if (QString(argv[i]) == "--user") { + ++i; + if (i < argc) { + user = QString(argv[i]); + } else { + std::cout << "Missing parameter after --user" << endl; + exit(-1); + } } else { std::cout << "Unknown parameter" << endl; exit(-1); @@ -52,7 +66,7 @@ int main(int argc, char *argv[]) { autoTester->setup(); if (!testFolder.isNull()) { - autoTester->runFromCommandLine(testFolder, branch); + autoTester->runFromCommandLine(testFolder, branch, user); } else { autoTester->show(); } diff --git a/tools/auto-tester/src/ui/AutoTester.cpp b/tools/auto-tester/src/ui/AutoTester.cpp index a238e2e7e8..079fa63a9d 100644 --- a/tools/auto-tester/src/ui/AutoTester.cpp +++ b/tools/auto-tester/src/ui/AutoTester.cpp @@ -35,9 +35,9 @@ void AutoTester::setup() { test = new Test(); } -void AutoTester::runFromCommandLine(const QString& testFolder, const QString& branch) { +void AutoTester::runFromCommandLine(const QString& testFolder, const QString& branch, const QString& user) { isRunningFromCommandline = true; - test->startTestsEvaluation(testFolder, branch); + test->startTestsEvaluation(testFolder, branch, user); } void AutoTester::on_evaluateTestsButton_clicked() { @@ -118,6 +118,7 @@ void AutoTester::downloadImages(const QStringList& URLs, const QString& director ui.progressBar->setValue(0); ui.progressBar->setVisible(true); + downloaders.clear(); for (int i = 0; i < _numberOfImagesToDownload; ++i) { QUrl imageURL(URLs[i]); downloadImage(imageURL); @@ -141,6 +142,7 @@ void AutoTester::saveImage(int index) { ++_numberOfImagesDownloaded; if (_numberOfImagesDownloaded == _numberOfImagesToDownload) { + disconnect(signalMapper, SIGNAL (mapped(int)), this, SLOT (saveImage(int))); test->finishTestsEvaluation(isRunningFromCommandline, ui.checkBoxInteractiveMode->isChecked(), ui.progressBar); } else { ui.progressBar->setValue(_numberOfImagesDownloaded); @@ -151,10 +153,19 @@ void AutoTester::about() { QMessageBox::information(0, "About", QString("Built ") + __DATE__ + " : " + __TIME__); } -void AutoTester::loadBranchCombo(const QStringList& items) { - ui.branchComboBox->addItems(items); +void AutoTester::setUserText(const QString& user) { + ui.userTextEdit->setText(user); +} + +QString AutoTester::getSelectedUser() +{ + return ui.userTextEdit->toPlainText(); +} + +void AutoTester::setBranchText(const QString& branch) { + ui.branchTextEdit->setText(branch); } QString AutoTester::getSelectedBranch() { - return ui.branchComboBox->currentText(); -} \ No newline at end of file + return ui.branchTextEdit->toPlainText(); +} diff --git a/tools/auto-tester/src/ui/AutoTester.h b/tools/auto-tester/src/ui/AutoTester.h index 5eff89e957..d47c4929c4 100644 --- a/tools/auto-tester/src/ui/AutoTester.h +++ b/tools/auto-tester/src/ui/AutoTester.h @@ -12,6 +12,7 @@ #include #include +#include #include "ui_AutoTester.h" #include "../Downloader.h" @@ -25,12 +26,15 @@ public: void setup(); - void runFromCommandLine(const QString& testFolder, const QString& branch); + void runFromCommandLine(const QString& testFolder, const QString& branch, const QString& user); void downloadImage(const QUrl& url); void downloadImages(const QStringList& URLs, const QString& directoryName, const QStringList& filenames); - void loadBranchCombo(const QStringList& items); + void setUserText(const QString& user); + QString getSelectedUser(); + + void setBranchText(const QString& branch); QString getSelectedBranch(); private slots: diff --git a/tools/auto-tester/src/ui/AutoTester.ui b/tools/auto-tester/src/ui/AutoTester.ui index df21dad1eb..e12fc70e3f 100644 --- a/tools/auto-tester/src/ui/AutoTester.ui +++ b/tools/auto-tester/src/ui/AutoTester.ui @@ -6,8 +6,8 @@ 0 0 - 583 - 514 + 612 + 537 @@ -17,8 +17,8 @@ - 460 - 410 + 380 + 430 101 40 @@ -43,9 +43,9 @@ - 330 - 275 - 220 + 430 + 270 + 101 40 @@ -57,7 +57,7 @@ 330 - 30 + 110 220 40 @@ -69,8 +69,8 @@ - 330 - 250 + 320 + 280 131 20 @@ -85,7 +85,7 @@ - 330 + 320 330 255 23 @@ -99,7 +99,7 @@ 330 - 80 + 170 220 40 @@ -112,7 +112,7 @@ 20 - 100 + 110 220 40 @@ -125,7 +125,7 @@ 20 - 150 + 160 220 40 @@ -138,7 +138,7 @@ 20 - 220 + 250 220 40 @@ -151,43 +151,33 @@ 10 - 410 - 91 + 440 + 211 40 - Show Taskbar + Show Windows Taskbar 10 - 360 - 91 + 390 + 211 40 - Hide Taskbar - - - - - - 418 - 211 - 131 - 31 - + Hide Windows Taskbar 330 - 220 + 55 81 16 @@ -201,13 +191,51 @@ GitHub Branch + + + + 330 + 15 + 81 + 16 + + + + + 10 + + + + GitHub User + + + + + + 420 + 12 + 140 + 24 + + + + + + + 420 + 50 + 140 + 24 + + + 0 0 - 583 + 612 21