Add styles for a history timeline, needed by an upcoming blog post.
[WebKit-https.git] / Websites / perf.webkit.org / run-tests.js
index f71c419..5dbcc5a 100644 (file)
@@ -88,8 +88,9 @@ function SerializedTaskQueue() {
     }
 }
 
-function main() {
+function main(argv) {
     var client = connect(true);
+    var filter = argv[2];
     confirmUserWantsDatabaseToBeInitializedIfNeeded(client, function (error, shouldContinue) {
         if (error)
             console.error(error);
@@ -110,7 +111,7 @@ function main() {
             var testCaseQueue = new SerializedTaskQueue();
             var testFileQueue = new SerializedTaskQueue();
             fs.readdirSync(pathToTests()).map(function (testFile) {
-                if (!testFile.match(/.js$/))
+                if (!testFile.match(/.js$/) || (filter && testFile.indexOf(filter) != 0))
                     return;
                 testFileQueue.addTask(function (error, callback) {
                     var testContent = fs.readFileSync(pathToTests(testFile), 'utf-8');
@@ -199,7 +200,7 @@ function initializeDatabase(client, callback) {
 
     var firstError;
     var queue = new TaskQueue();
-    commaSeparatedSqlStatements.split(/;\s*/).forEach(function (statement) {
+    commaSeparatedSqlStatements.split(/;\s*(?=CREATE|DROP)/).forEach(function (statement) {
         queue.addTask(function (error, callback) {
             client.query(statement, function (error) {
                 if (error && !firstError)
@@ -282,6 +283,8 @@ function TestEnvironment(testCaseQueue) {
         return hash.digest('hex');
     }
 
+    this.config = config;
+
     this.notifyDone = function () { currentTestContext.done(); }
 }
 
@@ -334,4 +337,4 @@ function TestContext(testGroup, testCase, callback) {
     process.stdout.write(this.description() + ': ');
 }
 
-main();
+main(process.argv);