Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1467)

Unified Diff: Tools/GardeningServer/model/test/ct-failures-tests.html

Issue 728023004: Remove GardeningServer. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Tools/GardeningServer/model/test/ct-failures-tests.html
diff --git a/Tools/GardeningServer/model/test/ct-failures-tests.html b/Tools/GardeningServer/model/test/ct-failures-tests.html
deleted file mode 100644
index 1f73e91f09ff5ca8175e92924beac06e5166c8a2..0000000000000000000000000000000000000000
--- a/Tools/GardeningServer/model/test/ct-failures-tests.html
+++ /dev/null
@@ -1,534 +0,0 @@
-<!--
-Copyright 2014 The Chromium Authors. All rights reserved.
-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-failures.html">
-
-<link rel="import" href="../../lib/network-simulator.html">
-<link rel="import" href="../ct-commit-list.html">
-<link rel="import" href="../ct-commit-log-mock.html">
-<link rel="import" href="../ct-failure-group.html">
-<link rel="import" href="../ct-step-failure.html">
-
-<script>
-(function () {
-'use strict';
-
-var assert = chai.assert;
-
-describe('ct-failures', function() {
- describe('failureComparator', function() {
- it('should sort failures', function() {
- var analyzer = new CTFailures(new CTCommitList(undefined, []));
-
- var resultsByBuilder = {};
- var failure1 = new CTStepFailure("step1", "reason1", resultsByBuilder, 123, 123);
- var failure2 = new CTStepFailure("step1", "reason2", resultsByBuilder, 123, 123);
- var failure3 = new CTStepFailure("step1", "reason3", resultsByBuilder, 123, 123);
- var failure4 = new CTStepFailure("step2", "reason1", resultsByBuilder, 123, 123);
-
- var failures = [failure4, failure3, failure2, failure1];
- var expectedFailures = [failure1, failure2, failure3, failure4];
- assert.deepEqual(failures.sort(analyzer._failureComparator), expectedFailures);
- });
- });
-
- describe('failureByTreeListComparator', function() {
- it('should compare failures correctly', function() {
- var analyzer = new CTFailures(new CTCommitList(undefined, []));
-
- var cl1 = new CTCommitList(undefined, ['chromium:1', 'blink:2']);
- var cl2 = new CTCommitList(undefined, ['chromium:2', 'blink:1']);
- var cl3 = new CTCommitList(undefined, ['chromium:2', 'blink:2']);
- var cl4 = new CTCommitList(undefined, []);
- var group1 = new CTFailureGroup('', new CTStepFailureGroupData([], cl1));
- var group2 = new CTFailureGroup('', new CTStepFailureGroupData([], cl2));
- var group3 = new CTFailureGroup('', new CTStepFailureGroupData([], cl3));
- var group4 = new CTFailureGroup('', new CTStepFailureGroupData([], cl4));
-
- // Sort by last revision first.
- assert(analyzer._failureByTreeListComparator('chromium', group1, group2) > 0);
- assert(analyzer._failureByTreeListComparator('chromium', group2, group1) < 0);
- assert(analyzer._failureByTreeListComparator('chromium', group1, group1) == 0);
-
- // If the tree revisions are equal, take others.
- assert(analyzer._failureByTreeListComparator('chromium', group2, group3) > 0);
-
- // Prioritize the given tree.
- assert(analyzer._failureByTreeListComparator('chromium', group1, group2) > 0);
- assert(analyzer._failureByTreeListComparator('blink', group1, group2) < 0);
-
- // Default to 'chromium'.
- assert(analyzer._failureByTreeListComparator(undefined, group1, group2) > 0);
-
- // Failures without a revision go to the end.
- assert(analyzer._failureByTreeListComparator('chromium', group4, group1) > 0);
- });
- });
-
- describe('._mungeAlerts', function() {
- it('puts alerts into a standard format', function() {
- var analyzer = new CTFailures(new CTCommitList(undefined, []));
- var alerts = [
- {
- reason: 'reason',
- master_url: 'https://build.chromium.org/p/chromium.webkit',
- tree: 'blink',
- },
- {
- reason: 'reason:type',
- master_url: 'https://build.chromium.org/p/chromium.chrome',
- tree: 'chromium',
- },
- {
- master_url: 'https://build.chromium.org/p/chromium.gpu',
- tree: 'chromium',
- },
- {
- reason: 'reason:type',
- failureType: 'actual_type',
- tree: undefined,
- },
- ];
- analyzer._mungeAlerts(alerts);
- assert.lengthOf(alerts, 4);
- assert.deepEqual(alerts[0], {
- reason: 'reason',
- failureType: 'FAIL',
- master_url: 'https://build.chromium.org/p/chromium.webkit',
- tree: 'blink',
- });
- assert.deepEqual(alerts[1], {
- reason: 'reason',
- failureType: 'type',
- master_url: 'https://build.chromium.org/p/chromium.chrome',
- tree: 'chromium',
- });
- assert.deepEqual(alerts[2], {
- failureType: 'UNKNOWN',
- master_url: 'https://build.chromium.org/p/chromium.gpu',
- tree: 'chromium',
- });
- assert.deepEqual(alerts[3], {
- reason: 'reason:type',
- failureType: 'actual_type',
- tree: undefined,
- });
- });
- });
-
- describe('.groupFailuresByTreeAndReason', function() {
- it('groups failures', function() {
- var analyzer = new CTFailures(new CTCommitList(undefined, []));
- var linuxAnnotation = [1];
- var winAnnotation = [2];
- var blinkAnnotation = [3];
- var annotations = {
- 'https_//build.chromium.org/p/chromium::Linux::1::unit_tests::MyTest': linuxAnnotation,
- 'https_//build.chromium.org/p/chromium::Win::3::unit_tests::MyTest': winAnnotation,
- 'https_//build.chromium.org/p/chromium.webkit::Linux::1::LayoutTests::MyTest': blinkAnnotation,
- };
- var failuresByTree = analyzer._groupFailuresByTreeAndReason([{
- tree: 'chromium',
- step_name: 'unit_tests',
- reason: 'MyTest',
- builder_name: 'Linux',
- failureType: 'a_type',
- failing_build: 1,
- last_failing_build: 2,
- master_url: 'https://build.chromium.org/p/chromium',
- }, {
- tree: 'chromium',
- step_name: 'unit_tests',
- reason: 'MyTest',
- builder_name: 'Win',
- failureType: 'another_type',
- failing_build: 3,
- last_failing_build: 44,
- master_url: 'https://build.chromium.org/p/chromium',
- }, {
- tree: 'blink',
- step_name: 'LayoutTests',
- reason: 'MyTest',
- builder_name: 'Linux',
- failureType: 'a_type',
- failing_build: 1,
- last_failing_build: 2,
- master_url: 'https://build.chromium.org/p/chromium.webkit',
- }], annotations);
- assert.equal(Object.size(failuresByTree), 2);
- assert.equal(Object.size(failuresByTree.chromium), 1);
- assert.property(failuresByTree.chromium, '{"step":"unit_tests","reason":"MyTest"}');
- var chromiumBuilders = failuresByTree.chromium['{"step":"unit_tests","reason":"MyTest"}'];
- assert.equal(Object.size(chromiumBuilders), 2);
- assert.equal(Object.size(chromiumBuilders.Linux), 7);
- assert.propertyVal(chromiumBuilders.Linux, 'key', 'https_//build.chromium.org/p/chromium::Linux::1::unit_tests::MyTest');
- assert.propertyVal(chromiumBuilders.Linux, 'actual', 'a_type');
- assert.propertyVal(chromiumBuilders.Linux, 'lastFailingBuild', 2);
- assert.propertyVal(chromiumBuilders.Linux, 'masterUrl', 'https://build.chromium.org/p/chromium');
- assert.propertyVal(chromiumBuilders.Linux, 'failingBuildCount', 2);
- assert.propertyVal(chromiumBuilders.Linux, 'annotation', linuxAnnotation);
-
- assert.equal(Object.size(chromiumBuilders.Win), 7);
- assert.propertyVal(chromiumBuilders.Win, 'key', 'https_//build.chromium.org/p/chromium::Win::3::unit_tests::MyTest');
- assert.propertyVal(chromiumBuilders.Win, 'actual', 'another_type');
- assert.propertyVal(chromiumBuilders.Win, 'lastFailingBuild', 44);
- assert.propertyVal(chromiumBuilders.Win, 'masterUrl', 'https://build.chromium.org/p/chromium');
- assert.propertyVal(chromiumBuilders.Win, 'failingBuildCount', 42);
- assert.propertyVal(chromiumBuilders.Win, 'annotation', winAnnotation);
-
- assert.equal(Object.size(failuresByTree.blink), 1);
- assert.property(failuresByTree.blink, '{"step":"LayoutTests","reason":"MyTest"}');
- var blinkBuilders = failuresByTree.blink['{"step":"LayoutTests","reason":"MyTest"}'];
- assert.equal(Object.size(blinkBuilders), 1);
- assert.equal(Object.size(blinkBuilders.Linux), 7);
- assert.propertyVal(blinkBuilders.Linux, 'key', 'https_//build.chromium.org/p/chromium.webkit::Linux::1::LayoutTests::MyTest');
- assert.propertyVal(blinkBuilders.Linux, 'actual', 'a_type');
- assert.propertyVal(blinkBuilders.Linux, 'lastFailingBuild', 2);
- assert.propertyVal(blinkBuilders.Linux, 'masterUrl', 'https://build.chromium.org/p/chromium.webkit');
- assert.propertyVal(blinkBuilders.Linux, 'failingBuildCount', 2);
- assert.propertyVal(blinkBuilders.Linux, 'annotation', blinkAnnotation);
- });
- });
-
- describe('.update', function() {
- it('should update everything', function(done) {
- var simulator = new NetworkSimulator(assert, done);
- var netData = {
- 'sheriff-o-matic.appspot.com/alerts': {
- stale_builder_alerts: [
- {
- 'master_url': 'http://build.chromium.org/p/chromium.webkit',
- 'builder_name': 'Linux Tests',
- 'state': 'building',
- 'last_update_time': 1409697347.089103,
- 'pending_builds': 4,
- 'tree': 'blink',
- },
- {
- 'master_url': 'http://build.chromium.org/p/chromium.linux',
- 'builder_name': 'Linux Tests (dbg)',
- 'state': 'offline',
- 'last_update_time': 1409697347.089103,
- 'pending_builds': 2,
- 'tree': 'blink',
- },
- {
- 'master_url': 'http://build.chromium.org/p/chromium.win',
- 'builder_name': 'Win Tests (dbg)',
- 'state': 'idle',
- 'last_update_time': 1409697347.089103,
- 'pending_builds': 5,
- 'tree': 'blink',
- },
- {
- 'last_update_time': 1409697347.089103,
- 'master_url': 'https://build.chromium.org/p/chromium.perf',
- 'master_name': 'chromium.perf',
- 'tree': 'chromium',
- },
- ],
- range_groups: [
- {
- sort_key: 'linux: Linux Tests (dbg)(1)',
- failure_keys: [ 'f1', ],
- likely_revisions: [
- 'chromium: 100',
- 'chromium: 101',
- ],
- merged_first_failing: {
- blink: 50,
- nacl: 50,
- v8: 50,
- chromium: 101,
- },
- merged_last_passing: {
- blink: 50,
- nacl: 50,
- v8: 50,
- chromium: 99,
- },
- },
- {
- sort_key: 'linux: Linux Tests (dbg)(1)',
- failure_keys: [ 'f2', ],
- likely_revisions: [
- 'chromium: 200',
- ],
- merged_first_failing: {
- blink: 50,
- nacl: 50,
- v8: 50,
- chromium: 200,
- },
- merged_last_passing: {
- blink: 50,
- nacl: 50,
- v8: 50,
- chromium: 199,
- },
- },
- {
- sort_key: 'mac: Mac Tests',
- failure_keys: [ 'f3', ],
- likely_revisions: [
- 'chromium: 100',
- 'chromium: 101',
- ],
- merged_first_failing: {
- blink: 50,
- nacl: 50,
- v8: 50,
- chromium: 200,
- },
- merged_last_passing: {
- blink: 50,
- nacl: 50,
- v8: 50,
- chromium: 199,
- },
- },
- ],
- alerts: [
- {
- last_result_time: 1409697347.089103,
- passing_build: 2485,
- last_failing_build: 2489,
- failing_build: 2486,
- latest_revisions: {
- v8: 50,
- chromium: 103,
- nacl: 50,
- blink: 51
- },
- master_url: "https://build.chromium.org/p/chromium.linux",
- reason: null,
- failing_revisions: {
- v8: 50,
- chromium: 101,
- nacl: 50,
- blink: 50
- },
- builder_name: "Linux Tests (dbg)(1)",
- key: "f1",
- step_name: "compile",
- tree: 'chromium',
- passing_revisions: {
- v8: 50,
- chromium: 99,
- nacl: 50,
- blink: 50
- },
- would_close_tree: true
- },
- {
- last_result_time: 1409697347.089103,
- passing_build: 2485,
- last_failing_build: 2489,
- failing_build: 2486,
- latest_revisions: {
- v8: 50,
- chromium: 203,
- nacl: 50,
- blink: 51
- },
- master_url: "https://build.chromium.org/p/chromium.linux",
- reason: 'Foo.Test',
- failing_revisions: {
- v8: 50,
- chromium: 200,
- nacl: 50,
- blink: 50
- },
- builder_name: "Linux Tests (dbg)(1)",
- key: "f2",
- step_name: "foo_tests",
- tree: 'chromium',
- passing_revisions: {
- v8: 50,
- chromium: 99,
- nacl: 50,
- blink: 50
- },
- would_close_tree: true
- },
- {
- last_result_time: 1409697347.089103,
- passing_build: 2485,
- last_failing_build: 2489,
- failing_build: 2486,
- latest_revisions: {
- v8: 50,
- chromium: 103,
- nacl: 50,
- blink: 51
- },
- master_url: "https://build.chromium.org/p/chromium.mac",
- reason: null,
- failing_revisions: {
- v8: 50,
- chromium: 101,
- nacl: 50,
- blink: 50
- },
- builder_name: "Mac Tests",
- key: "f3",
- step_name: "compile",
- tree: 'chromium',
- passing_revisions: {
- v8: 50,
- chromium: 99,
- nacl: 50,
- blink: 50
- },
- would_close_tree: true
- },
- ],
- date: 1409697816.726562,
- },
- 'trooper-o-matic.appspot.com/alerts': {
-
- }
- }
- simulator.json = function(url) {
- var matched = Object.find(netData, function(key) {
- return url.indexOf(key) != -1;
- });
- if (matched) {
- return Promise.resolve(netData[matched]);
- } else {
- return Promise.reject('Unexpected url: ' + url);
- }
- };
- simulator.runTest(function() {
- var analyzer = new CTFailures(CTCommitLogMock());
- return analyzer.update().then(function() {
- assert.property(analyzer.failures, 'chromium');
- assert.lengthOf(analyzer.failures.chromium, 4);
- var masterFailureGroup = analyzer.failures.chromium[0];
- var testFailureGroup = analyzer.failures.chromium[1];
- var compileFailureGroup = analyzer.failures.chromium[2];
- var macCompileFailureGroup = analyzer.failures.chromium[3];
- assert.equal(compileFailureGroup.constructor, CTFailureGroup);
- assert.equal(compileFailureGroup.key, 'compile::Linux Tests (dbg)(1)');
- assert.lengthOf(compileFailureGroup.data.failures, 1);
- var failure = compileFailureGroup.data.failures[0];
- assert.equal(failure.constructor, CTStepFailure);
- assert.equal(failure.key, 'compile::Linux Tests (dbg)(1)');
- assert.equal(failure.step, 'compile');
- assert.equal(failure.testName, null);
- var resultNodesByBuilder = failure.resultNodesByBuilder;
- assert.property(resultNodesByBuilder, 'Linux Tests (dbg)(1)');
- var dbgBuilder = resultNodesByBuilder['Linux Tests (dbg)(1)'];
- assert.propertyVal(dbgBuilder, 'actual', 'UNKNOWN');
- assert.propertyVal(dbgBuilder, 'lastFailingBuild', 2489);
- assert.propertyVal(dbgBuilder, 'masterUrl', 'https://build.chromium.org/p/chromium.linux');
- assert.propertyVal(dbgBuilder, 'failingBuildCount', 4);
- assert.property(analyzer.failures, 'blink');
- assert.lengthOf(analyzer.failures.blink, 3);
- assert.equal(analyzer.failures.blink[0].data.failure.hoursSinceLastUpdate, 0.13);
-
- var commitList = compileFailureGroup.data.commitList;
- assert.equal(commitList.constructor, CTCommitList);
- assert.lengthOf(commitList.repositories, 1);
- var repositoryCommitList = commitList.repositories[0];
- assert.propertyVal(repositoryCommitList, 'range', '100 : 101');
- assert.propertyVal(repositoryCommitList, 'expanded', false);
-
- // Flip |expanded| to true to check that it's preserved across updates.
- repositoryCommitList.expanded = true;
-
- // Update |netData| to make sure it's propagated into the updated values.
- netData['sheriff-o-matic.appspot.com/alerts'].alerts[0].last_failing_build = 2490;
-
- return analyzer.update().then(function() {
- assert.strictEqual(analyzer.failures.chromium[0], masterFailureGroup)
- assert.strictEqual(analyzer.failures.chromium[1], testFailureGroup)
- assert.strictEqual(analyzer.failures.chromium[2], compileFailureGroup)
- assert.strictEqual(analyzer.failures.chromium[3], macCompileFailureGroup)
- assert.strictEqual(compileFailureGroup.data.failures[0], failure)
- assert.strictEqual(failure.resultNodesByBuilder, resultNodesByBuilder);
- assert.strictEqual(resultNodesByBuilder['Linux Tests (dbg)(1)'], dbgBuilder);
- assert.propertyVal(dbgBuilder, 'lastFailingBuild', 2490);
-
- assert.strictEqual(compileFailureGroup.data.commitList, commitList);
- assert.strictEqual(commitList.repositories[0], repositoryCommitList);
- assert.propertyVal(repositoryCommitList, 'expanded', true);
- });
- });
- });
- });
- });
-
- describe('processTrooperFailures', function() {
- it('should filter out updates that are not alerts', function() {
- var analyzer = new CTFailures(new CTCommitList(undefined, []));
- analyzer.failures = {};
- analyzer._processTrooperFailures({},
- {'key_1': {'tree_1': {should_alert: true, should_appear: true},
- 'tree_2': {should_alert: false, should_appear: false}},
- 'key_2': {'tree_3': {should_alert: false, should_appear: false},
- 'tree_4': {should_alert: true, should_appear: true}}});
- analyzer.failures['trooper'].forEach(function(failure) {
- assert(failure.data.data.should_appear);
- });
- assert(analyzer.failures['trooper'].length == 2);
- });
- });
-
- describe('processTrooperFailures', function() {
- it('should list all failures with category builder and master', function() {
- var emptyCommit = new CTCommitList(undefined, []);
- var emptyGroupData = new CTStepFailureGroupData([], emptyCommit);
- var group1 = new CTFailureGroup('', emptyGroupData, 'builder');
- var group2 = new CTFailureGroup('', emptyGroupData, 'failedOnce');
- var group3 = new CTFailureGroup('', emptyGroupData, 'master');
-
- var analyzer = new CTFailures(new CTCommitList(undefined, []));
- analyzer.failures = {};
- analyzer._processTrooperFailures(
- {'tree_1': [group1], 'tree_2': [group2, group3]}, {});
- analyzer.failures['trooper'].forEach(function(failure) {
- assert(failure.category == 'builder' || failure.category == 'master');
- });
- assert(analyzer.failures['trooper'].length == 2);
- });
- });
-
- describe('processFailuresForRangeGroup', function() {
- it('should use tree name from json', function() {
- var analyzer = new CTFailures(null);
-
- var annotations = Promise.resolve({
- 'test-key': 'test-annotation',
- })
- var range_groups = {
- 'failure_keys': ['test-key'],
- 'likely_revisions': []
- }
- var alertsByKey = {
- 'test-key': {
- 'key': 'test-key',
- 'step_name': 'bot_update',
- 'tree': 'test-tree',
- 'builder_name': 'Linux',
- 'last_failing_build': 1234,
- 'failing_build': 1234,
- 'master_url': 'https://build.chromium.org/p/chromium',
- 'reason': 'test-reason',
- }
- }
- var newFailures = {}
-
- analyzer._processFailuresForRangeGroup(newFailures, range_groups, alertsByKey, annotations)
- assert.ok('test-tree' in newFailures)
- assert.notOk('chromium' in newFailures)
- });
- });
-
-});
-
-})()
-</script>

Powered by Google App Engine
This is Rietveld 408576698