Skip to content

Commit

Permalink
Implement a command line flag to skip Chrome when running tests
Browse files Browse the repository at this point in the history
To save time or resources during development it can be useful to run
tests only in Firefox. Previously this could be done by editing the
browser manifest file, but since that file is no longer used for
Puppeteer, this command line flag replaces it. For example, executing
`gulp unittest --noChrome` will only run the unit tests in Firefox.
  • Loading branch information
timvandermeij committed Apr 26, 2020
1 parent 22c4f51 commit a6e331b
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
7 changes: 7 additions & 0 deletions gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -436,6 +436,9 @@ function createTestSource(testsName, bot) {
if (bot) {
args.push("--strictVerify");
}
if (process.argv.includes("--noChrome")) {
args.push("--noChrome");
}

var testProcess = startNode(args, { cwd: TEST_DIR, stdio: "inherit" });
testProcess.on("close", function (code) {
Expand All @@ -454,6 +457,10 @@ function makeRef(done, bot) {
if (bot) {
args.push("--noPrompts", "--strictVerify");
}
if (process.argv.includes("--noChrome")) {
args.push("--noChrome");
}

var testProcess = startNode(args, { cwd: TEST_DIR, stdio: "inherit" });
testProcess.on("close", function (code) {
done();
Expand Down
6 changes: 5 additions & 1 deletion test/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ function parseOptions() {
"fontTest",
"noPrompts",
"noDownload",
"noChrome",
"downloadOnly",
"strictVerify",
])
Expand Down Expand Up @@ -77,6 +78,7 @@ function parseOptions() {
.describe("unitTest", "Run the unit tests.")
.describe("fontTest", "Run the font tests.")
.describe("noDownload", "Skips test PDFs downloading.")
.describe("noChrome", "Skip Chrome when running tests.")
.describe("downloadOnly", "Download test PDFs without running the tests.")
.describe("strictVerify", "Error if verifying the manifest files fails.")
.describe("statsFile", "The file where to store stats.")
Expand Down Expand Up @@ -798,8 +800,10 @@ async function startBrowser(browserName, startUrl) {
}

function startBrowsers(rootUrl, initSessionCallback) {
const browserNames = options.noChrome ? ["firefox"] : ["firefox", "chrome"];

sessions = [];
for (const browserName of ["chrome", "firefox"]) {
for (const browserName of browserNames) {
// The session must be pushed first and augmented with the browser once
// it's initialized. The reason for this is that browser initialization
// takes more time when the browser is not found locally yet and we don't
Expand Down

0 comments on commit a6e331b

Please sign in to comment.