Modified: trunk/Websites/perf.webkit.org/tools/run-tests.py (200899 => 200900)
--- trunk/Websites/perf.webkit.org/tools/run-tests.py 2016-05-13 23:53:51 UTC (rev 200899)
+++ trunk/Websites/perf.webkit.org/tools/run-tests.py 2016-05-14 00:01:21 UTC (rev 200900)
@@ -2,6 +2,7 @@
import os
import subprocess
+import sys
def main():
@@ -17,7 +18,8 @@
subprocess.call(['npm', 'install', package_name])
mocha_path = os.path.join(node_modules_dir, 'mocha/bin/mocha')
- return subprocess.call([mocha_path, 'unit-tests', 'server-tests'])
+ test_paths = sys.argv[1:] or ['unit-tests', 'server-tests']
+ return subprocess.call([mocha_path] + test_paths)
if __name__ == "__main__":
main()
Added: trunk/Websites/perf.webkit.org/unit-tests/commit-log-tests.js (0 => 200900)
--- trunk/Websites/perf.webkit.org/unit-tests/commit-log-tests.js (rev 0)
+++ trunk/Websites/perf.webkit.org/unit-tests/commit-log-tests.js 2016-05-14 00:01:21 UTC (rev 200900)
@@ -0,0 +1,150 @@
+'use strict';
+
+const assert = require('assert');
+
+require('../tools/js/v3-models.js');
+const MockModels = require('./resources/mock-v3-models.js').MockModels;
+
+function webkitCommit()
+{
+ return new CommitLog(1, {
+ repository: MockModels.webkit,
+ revision: '200805',
+ time: +(new Date('2016-05-13T00:55:57.841344Z')),
+ });
+}
+
+function oldWebKitCommit()
+{
+ return new CommitLog(2, {
+ repository: MockModels.webkit,
+ revision: '200574',
+ time: +(new Date('2016-05-09T14:59:23.553767Z')),
+ });
+}
+
+function gitWebKitCommit()
+{
+ return new CommitLog(3, {
+ repository: MockModels.webkit,
+ revision: '6f8b0dbbda95a440503b88db1dd03dad3a7b07fb',
+ time: +(new Date('2016-05-13T00:55:57.841344Z')),
+ });
+}
+
+function oldGitWebKitCommit()
+{
+ return new CommitLog(4, {
+ repository: MockModels.webkit,
+ revision: 'ffda14e6db0746d10d0f050907e4a7325851e502',
+ time: +(new Date('2016-05-09T14:59:23.553767Z')),
+ });
+}
+
+function osxCommit()
+{
+ return new CommitLog(5, {
+ repository: MockModels.osx,
+ revision: '10.11.4 15E65',
+ time: null,
+ });
+}
+
+function oldOSXCommit()
+{
+ return new CommitLog(6, {
+ repository: MockModels.osx,
+ revision: '10.11.3 15D21',
+ time: null,
+ });
+}
+
+describe('CommitLog', function () {
+ MockModels.inject();
+
+ describe('label', function () {
+ it('should prefix SVN revision with "r"', function () {
+ assert.equal(webkitCommit().label(), 'r200805');
+ });
+
+ it('should truncate a Git hash at 8th character', function () {
+ assert.equal(gitWebKitCommit().label(), '6f8b0dbb');
+ });
+
+ it('should not modify OS X version', function () {
+ assert.equal(osxCommit().label(), '10.11.4 15E65');
+ });
+ });
+
+ describe('title', function () {
+ it('should prefix SVN revision with "r"', function () {
+ assert.equal(webkitCommit().title(), 'WebKit at r200805');
+ });
+
+ it('should truncate a Git hash at 8th character', function () {
+ assert.equal(gitWebKitCommit().title(), 'WebKit at 6f8b0dbb');
+ });
+
+ it('should not modify OS X version', function () {
+ assert.equal(osxCommit().title(), 'OS X at 10.11.4 15E65');
+ });
+ });
+
+ describe('diff', function () {
+ it('should use label() as the label the previous commit is missing', function () {
+ assert.deepEqual(webkitCommit().diff(), {
+ from: null,
+ to: '200805',
+ label: 'r200805',
+ url: 'http://trac.webkit.org/changeset/200805',
+ repository: MockModels.webkit
+ });
+
+ assert.deepEqual(gitWebKitCommit().diff(), {
+ from: null,
+ to: '6f8b0dbbda95a440503b88db1dd03dad3a7b07fb',
+ label: '6f8b0dbb',
+ url: 'http://trac.webkit.org/changeset/6f8b0dbbda95a440503b88db1dd03dad3a7b07fb',
+ repository: MockModels.webkit,
+ });
+
+ assert.deepEqual(osxCommit().diff(), {
+ from: null,
+ to: '10.11.4 15E65',
+ label: '10.11.4 15E65',
+ url: '',
+ repository: MockModels.osx,
+ });
+ });
+
+ it('should use increment the old SVN revision by 1', function () {
+ assert.deepEqual(webkitCommit().diff(oldWebKitCommit()), {
+ from: '200575',
+ to: '200805',
+ label: 'r200575-r200805',
+ url: '',
+ repository: MockModels.webkit
+ });
+ });
+
+ it('should truncate a Git hash at 8th character', function () {
+ assert.deepEqual(gitWebKitCommit().diff(oldGitWebKitCommit()), {
+ from: 'ffda14e6db0746d10d0f050907e4a7325851e502',
+ to: '6f8b0dbbda95a440503b88db1dd03dad3a7b07fb',
+ label: 'ffda14e6..6f8b0dbb',
+ url: '',
+ repository: MockModels.webkit
+ });
+ });
+
+ it('should surround "-" with spaces', function () {
+ assert.deepEqual(osxCommit().diff(oldOSXCommit()), {
+ from: '10.11.3 15D21',
+ to: '10.11.4 15E65',
+ label: '10.11.3 15D21 - 10.11.4 15E65',
+ url: '',
+ repository: MockModels.osx
+ });
+ });
+ });
+});