| Index: Tools/GardeningServer/ui/test/ct-results-detail-tests.html
|
| diff --git a/Tools/GardeningServer/ui/ct-results-detail-tests.html b/Tools/GardeningServer/ui/test/ct-results-detail-tests.html
|
| similarity index 25%
|
| rename from Tools/GardeningServer/ui/ct-results-detail-tests.html
|
| rename to Tools/GardeningServer/ui/test/ct-results-detail-tests.html
|
| index a7a808fe83d9648a871ac0dc32032c46250e2714..f8a9c089a51dc769bc6d7750769737ec943d7e6d 100644
|
| --- a/Tools/GardeningServer/ui/ct-results-detail-tests.html
|
| +++ b/Tools/GardeningServer/ui/test/ct-results-detail-tests.html
|
| @@ -4,144 +4,144 @@ Use of this source code is governed by a BSD-style license that can be
|
| found in the LICENSE file.
|
| -->
|
|
|
| -<link rel="import" href="ct-results-detail.html">
|
| +<link rel="import" href="../ct-results-detail.html">
|
|
|
| -<link rel="import" href="../model/ct-failure.html">
|
| +<link rel="import" href="../../model/ct-failure.html">
|
|
|
| <script>
|
| (function () {
|
|
|
| -module("ct-results-detail");
|
| +var assert = chai.assert;
|
|
|
| -asyncTest("image+text", 4, function() {
|
| - var simulator = new NetworkSimulator();
|
| - var probedUrls = [];
|
| +describe('ct-results-detail', function() {
|
| + describe('webkit failures', function() {
|
| + var resultsDetail
|
| + var probedUrls;
|
|
|
| - simulator.probe = function(url)
|
| - {
|
| - probedUrls.push(url);
|
| - if (url.endsWith('.txt') || url.endsWith('.png'))
|
| - return Promise.resolve();
|
| - else
|
| + // Set to test different types.
|
| + var resultType = '';
|
| + var extensions = [];
|
| +
|
| + beforeEach(function(done) {
|
| + var simulator = new NetworkSimulator(assert, done);
|
| + probedUrls = [];
|
| +
|
| + simulator.probe = function(url) {
|
| + probedUrls.push(url);
|
| + for (var i = 0; i < extensions.length; i++) {
|
| + if (url.endsWith(extensions[i]))
|
| + return Promise.resolve();
|
| + }
|
| return Promise.reject();
|
| - };
|
| -
|
| - simulator.runTest(function() {
|
| - var comparisonResult = document.createElement('ct-results-detail');
|
| - comparisonResult.builder = 'dummy builder';
|
| - // FIXME: Use a proper mock model object.
|
| - comparisonResult.failure = new CTFailure(
|
| - "testName", "dummy/test.html",
|
| - {
|
| - "dummy builder": {
|
| - "actual": "IMAGE+TEXT",
|
| - },
|
| - }, 177164, 177165
|
| - );
|
| -
|
| - comparisonResult.async(function() {
|
| - deepEqual(probedUrls, [
|
| + };
|
| +
|
| + // FIXME: Use a proper mock model object.
|
| + var failure = new CTFailure(
|
| + "testName", "dummy/test.html",
|
| + {
|
| + "dummy builder": {
|
| + "actual": resultType,
|
| + },
|
| + }, 177164, 177165
|
| + );
|
| +
|
| + simulator.runTest(function() {
|
| + resultsDetail = document.createElement('ct-results-detail');
|
| + resultsDetail.builder = 'dummy builder';
|
| + resultsDetail.failure = failure;
|
| + });
|
| +
|
| + setTimeout(done);
|
| + });
|
| +
|
| + describe('image+text', function() {
|
| + before(function() {
|
| + resultType = "IMAGE+TEXT";
|
| + extensions = ['.txt', '.png'];
|
| + });
|
| +
|
| + it('should fetch the correct URLs', function() {
|
| + assert.deepEqual(probedUrls, [
|
| 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_builder/results/layout-test-results/dummy/test-expected.png',
|
| 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_builder/results/layout-test-results/dummy/test-actual.png',
|
| 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_builder/results/layout-test-results/dummy/test-diff.png',
|
| 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_builder/results/layout-test-results/dummy/test-actual.txt',
|
| 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_builder/results/layout-test-results/dummy/test-expected.txt',
|
| 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_builder/results/layout-test-results/dummy/test-diff.txt',
|
| - ]);
|
| -
|
| - var comparisons = comparisonResult.shadowRoot.querySelectorAll('ct-results-comparison');
|
| - equal(comparisons.length, 2);
|
| - equal(comparisonResult.shadowRoot.querySelectorAll('ct-test-output').length, 0);
|
| + ]);
|
|
|
| - start();
|
| + assert.lengthOf(resultsDetail.shadowRoot.querySelectorAll('ct-results-comparison'), 2);
|
| + assert.lengthOf(resultsDetail.shadowRoot.querySelectorAll('ct-test-output'), 0);
|
| + });
|
| });
|
| - });
|
| -});
|
|
|
| -asyncTest("crash", 4, function() {
|
| - var simulator = new NetworkSimulator();
|
| - var probedUrls = [];
|
| + describe('crash', function() {
|
| + before(function() {
|
| + resultType = "CRASH";
|
| + extensions = ['.txt'];
|
| + });
|
|
|
| - simulator.probe = function(url)
|
| - {
|
| - probedUrls.push(url);
|
| - if (url.endsWith('.txt'))
|
| - return Promise.resolve();
|
| - else
|
| - return Promise.reject();
|
| - };
|
| -
|
| - simulator.runTest(function() {
|
| - var crashResult = document.createElement('ct-results-detail');
|
| - crashResult.builder = 'dummy builder';
|
| - // FIXME: Use a proper mock model object.
|
| - crashResult.failure = {
|
| - "testName": "dummy/test.html",
|
| - "resultNodesByBuilder": {
|
| - "dummy builder": {
|
| - "actual": "CRASH",
|
| - },
|
| - },
|
| - "oldestFailingRevision": 177164,
|
| - "newestPassingRevision": 177165,
|
| - };
|
| -
|
| - crashResult.async(function() {
|
| - deepEqual(probedUrls, [
|
| + it('should fetch the correct URLs', function() {
|
| + assert.deepEqual(probedUrls, [
|
| 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_builder/results/layout-test-results/dummy/test-crash-log.txt',
|
| - ]);
|
| + ]);
|
|
|
| - var crashOutputs = crashResult.shadowRoot.querySelectorAll('ct-test-output');
|
| - equal(crashOutputs.length, 1);
|
| - equal(crashResult.shadowRoot.querySelectorAll('ct-results-comparison').length, 0);
|
| - start();
|
| + assert.lengthOf(resultsDetail.shadowRoot.querySelectorAll('ct-test-output'), 1);
|
| + assert.lengthOf(resultsDetail.shadowRoot.querySelectorAll('ct-results-comparison'), 0);
|
| + });
|
| });
|
| });
|
| -});
|
|
|
| -asyncTest("unknown", 3, function() {
|
| - var result = document.createElement('ct-results-detail');
|
| -
|
| - result.builder = 'dummy builder';
|
| -
|
| - var resultsByBuilder = {
|
| - "dummy builder": {
|
| - actual: "UNKNOWN",
|
| - lastFailingBuild: 124,
|
| - masterUrl: 'http://masterurl/'
|
| - },
|
| - };
|
| - result.failure = new CTFailure('foo_step', 'test.html', resultsByBuilder, 123, 124);
|
| -
|
| - requestAnimationFrame(function() {
|
| - var outputs = result.shadowRoot.querySelectorAll('ct-test-output');
|
| - equal(outputs.length, 1);
|
| - equal(outputs[0].url, 'http://masterurl//builders/dummy%20builder/builds/124/steps/foo_step/logs/stdio');
|
| - equal(result.shadowRoot.querySelectorAll('ct-results-comparison').length, 0);
|
| - start();
|
| - });
|
| -});
|
| + describe('failures', function() {
|
| + var result;
|
| + var expectedUrl;
|
|
|
| -asyncTest("unknown", 3, function() {
|
| - var result = document.createElement('ct-results-detail');
|
| -
|
| - result.builder = 'dummy builder';
|
| -
|
| - var resultsByBuilder = {
|
| - "dummy builder": {
|
| - actual: "FAIL",
|
| - lastFailingBuild: 124,
|
| - masterUrl: 'http://masterurl/'
|
| - },
|
| - };
|
| - result.failure = new CTFailure('foo_step', 'TestSuite.TestName', resultsByBuilder, 123, 124);
|
| -
|
| - requestAnimationFrame(function() {
|
| - var outputs = result.shadowRoot.querySelectorAll('ct-test-output');
|
| - equal(outputs.length, 1);
|
| - equal(outputs[0].url, 'http://masterurl//builders/dummy%20builder/builds/124/steps/foo_step/logs/TestName');
|
| - equal(result.shadowRoot.querySelectorAll('ct-results-comparison').length, 0);
|
| - start();
|
| + afterEach(function() {
|
| + var outputs = result.shadowRoot.querySelectorAll('ct-test-output');
|
| + assert.lengthOf(outputs, 1);
|
| + assert.equal(outputs[0].url, expectedUrl);
|
| + assert.lengthOf(result.shadowRoot.querySelectorAll('ct-results-comparison'), 0);
|
| + });
|
| +
|
| + describe('unknown failures', function() {
|
| + it('should show the failure output', function(done) {
|
| + result = document.createElement('ct-results-detail');
|
| +
|
| + result.builder = 'dummy builder';
|
| +
|
| + var resultsByBuilder = {
|
| + "dummy builder": {
|
| + actual: "UNKNOWN",
|
| + lastFailingBuild: 124,
|
| + masterUrl: 'http://masterurl/'
|
| + },
|
| + };
|
| + result.failure = new CTFailure('foo_step', 'test.html', resultsByBuilder, 123, 124);
|
| + expectedUrl = 'http://masterurl//builders/dummy%20builder/builds/124/steps/foo_step/logs/stdio';
|
| +
|
| + setTimeout(done);
|
| + });
|
| + });
|
| +
|
| + describe('failures', function() {
|
| + it('should show the failure output', function(done) {
|
| + result = document.createElement('ct-results-detail');
|
| +
|
| + result.builder = 'dummy builder';
|
| +
|
| + var resultsByBuilder = {
|
| + "dummy builder": {
|
| + actual: "FAIL",
|
| + lastFailingBuild: 124,
|
| + masterUrl: 'http://masterurl/'
|
| + },
|
| + };
|
| + result.failure = new CTFailure('foo_step', 'TestSuite.TestName', resultsByBuilder, 123, 124);
|
| + expectedUrl = 'http://masterurl//builders/dummy%20builder/builds/124/steps/foo_step/logs/TestName';
|
| +
|
| + setTimeout(done);
|
| + });
|
| + });
|
| });
|
| });
|
|
|
|
|