From 21849525517d999e2a6ac926d979c8c530122722 Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Fri, 27 Oct 2017 04:03:11 -0400 Subject: [PATCH] Fix -s and -e arguments for test runner --- test/content/runtests.js | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/test/content/runtests.js b/test/content/runtests.js index c9bcdfb43..1a88fedd0 100644 --- a/test/content/runtests.js +++ b/test/content/runtests.js @@ -243,20 +243,28 @@ if(run && ZoteroUnit.tests) { let stopFile = ZoteroUnit.stopAt ? getTestFilename(ZoteroUnit.stopAt) : false; while(enumerator.hasMoreElements()) { var file = enumerator.getNext().QueryInterface(Components.interfaces.nsIFile); - if(file.leafName.endsWith(".js")) { - if (started || file.leafName == startFile) { - testFiles.push(file.leafName); - started = true; - } - if (file.leafName == stopFile) { - break; - } + if (file.leafName.endsWith(".js")) { + testFiles.push(file.leafName); } } - if (!started) { + testFiles.sort(); + + // Find the start and stop files + let startPos = 0; + let stopPos = testFiles.length - 1; + for (let i = 0; i < testFiles.length; i++) { + if (testFiles[i] == startFile) { + startPos = i; + } + if (testFiles[i] == stopFile) { + stopPos = i; + break; + } + } + if (startFile && startPos == 0 && startFile != testFiles[0]) { dump(`Invalid start file ${startFile}\n`); } - testFiles.sort(); + testFiles = testFiles.slice(startPos, stopPos + 1); } else { var specifiedTests = ZoteroUnit.tests.split(","); for (let test of specifiedTests) {