blob: 545861f57757168e8cda555cbb38e4b5c7ce4e32 [file] [log] [blame]
// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'dart:core';
Map<String, dynamic> fakeFirestoreCommits = Map.unmodifiable({
previousCommitHash: previousCommit, // 51
existingCommitHash: existingCommit, // 52
commit53Hash: commit53, // 53
landedCommitHash: landedCommit, // 54
});
const fakeFirestoreCommitsFirstIndex = previousCommitIndex;
const fakeFirestoreCommitsLastIndex = landedCommitIndex;
Map<String, Map<String, dynamic>> fakeFirestoreResults = Map.unmodifiable({
'activeFailureResultID': activeFailureResult,
'activeResultID': activeResult,
});
const List<Map<String, dynamic>> fakeFirestoreTryResults = [
review44445Result,
review77779Result,
];
// Test commits. These are test commit documents from Firestore.
// When they are returned from the FirestoreService API, their hash
// is added to the map with key 'hash'.
const String previousCommitHash = 'a previous existing commit hash';
const int previousCommitIndex = 51;
Map<String, dynamic> previousCommit = Map.unmodifiable({
'author': 'previous_user@example.com',
'created': DateTime.parse('2019-11-24 11:18:00Z'),
'index': previousCommitIndex,
'title': 'A commit used for testing, with index 51',
'hash': previousCommitHash,
});
const String existingCommitHash = 'an already existing commit hash';
const int existingCommitIndex = 52;
Map<String, dynamic> existingCommit = Map.unmodifiable({
'author': 'test_user@example.com',
'created': DateTime.parse('2019-11-22 22:19:00Z'),
'index': existingCommitIndex,
'title': 'A commit used for testing, with index 52',
'hash': existingCommitHash,
});
const String commit53Hash = 'commit 53 landing CL 77779 hash';
const int commit53Index = 53;
Map<String, dynamic> commit53 = Map.unmodifiable({
'author': 'user@example.com',
'created': DateTime.parse('2019-11-28 12:07:55 +0000'),
'index': commit53Index,
'title': 'A commit on the git log',
'hash': commit53Hash,
'review': 77779,
});
const String landedCommitHash = 'a commit landing a CL hash';
const int landedCommitIndex = 54;
Map<String, dynamic> landedCommit = Map.unmodifiable({
'author': 'gerrit_user@example.com',
'created': DateTime.parse('2019-11-29 15:15:00Z'),
'index': landedCommitIndex,
'title': 'A commit used for testing tryjob approvals, with index 54',
'hash': landedCommitHash,
'review': 44445
});
/// Changes
/// These are single lines from a result.json, representing the output
/// of a single test on a single configuration on a single build.
const String sampleTestName = 'local_function_signatures_strong_test/none';
const String sampleTestSuite = 'dart2js_extra';
const String sampleTest = '$sampleTestSuite/$sampleTestName';
const Map<String, dynamic> existingCommitChange = {
'name': sampleTest,
'configuration': 'dart2js-new-rti-linux-x64-d8',
'suite': sampleTestSuite,
'test_name': sampleTestName,
'time_ms': 2384,
'result': 'Pass',
'expected': 'Pass',
'matches': true,
'bot_name': 'luci-dart-try-xenial-70-8fkh',
'commit_hash': existingCommitHash,
'commit_time': 1563576771,
'build_number': '307',
'builder_name': 'dart2js-rti-linux-x64-d8',
'flaky': false,
'previous_flaky': false,
'previous_result': 'RuntimeError',
'previous_commit_hash': previousCommitHash,
'previous_commit_time': 1563576211,
'previous_build_number': '306',
'changed': true
};
const Map<String, dynamic> landedCommitChange = {
'name': sampleTest,
'configuration': 'dart2js-new-rti-linux-x64-d8',
'suite': sampleTestSuite,
'test_name': sampleTestName,
'time_ms': 2384,
'result': 'RuntimeError',
'expected': 'Pass',
'matches': false,
'bot_name': 'luci-dart-try-xenial-70-8fkh',
'commit_hash': landedCommitHash,
'commit_time': 1563576771,
'build_number': '308',
'builder_name': 'dart2js-rti-linux-x64-d8',
'flaky': false,
'previous_flaky': false,
'previous_result': 'Pass',
'previous_commit_hash': existingCommitHash,
'previous_commit_time': 1563576211,
'previous_build_number': '306',
'changed': true
};
/// Results
/// These are test Result documents, as stored in Firestore.
const Map<String, dynamic> activeFailureResult = {
'name': 'test_suite/active_failing_test',
'configurations': [testConfiguration, 'configuration 2', 'configuration 3'],
'active': true,
'active_configurations': [testConfiguration, 'configuration 2'],
'approved': false,
'result': 'RuntimeError',
'expected': 'Pass',
'previous_result': 'Pass',
'blamelist_start_index': 67195,
'blamelist_end_index': 67195
};
// A result on existingCommit that is overridden by the new result in
// landedCommitChange.
Map<String, dynamic> activeResult = {
'name': sampleTest,
'blamelist_start_index': existingCommitIndex,
'blamelist_end_index': existingCommitIndex,
'configurations': [
landedCommitChange['configuration'],
'another configuration'
]..sort(),
'active_configurations': [
landedCommitChange['configuration'],
'another configuration'
]..sort(),
'active': true,
'approved': false,
'result': 'RuntimeError',
'expected': 'Pass',
'previous_result': 'Pass',
};
Map<String, dynamic> landedResult = {
'name': sampleTest,
'blamelist_start_index': existingCommitIndex + 1,
'blamelist_end_index': landedCommitIndex,
'pinned_index': landedCommitIndex,
'configurations': [
'another configuration',
landedCommitChange['configuration'],
]..sort(),
'active_configurations': [
landedCommitChange['configuration'],
'another configuration'
]..sort(),
'active': true,
'approved': true,
'result': 'RuntimeError',
'expected': 'Pass',
'previous_result': 'Pass',
};
Map<String, dynamic> flakyResult = {
'name': sampleTest,
'blamelist_start_index': existingCommitIndex + 1,
'blamelist_end_index': landedCommitIndex,
'configurations': [landedCommitChange['configuration']],
'approved': false,
'result': 'flaky',
'expected': 'Pass',
'previous_result': 'RuntimeError',
};
/// Try results
/// These are documents from the try_results table in Firestore.
const Map<String, dynamic> review44445Result = {
'review': 44445,
'configurations': [
'dart2js-new-rti-linux-x64-d8',
'dartk-reload-rollback-linux-debug-x64',
'dartk-reload-linux-debug-x64'
],
'name': sampleTest,
'patchset': 1,
'result': 'RuntimeError',
'expected': 'Pass',
'previous_result': 'Pass',
'approved': true
};
const Map<String, dynamic> review77779Result = {
'review': 77779,
'configurations': ['test_configuration'],
'name': 'test_suite/test_name',
'patchset': 5,
'result': 'RuntimeError',
'expected': 'CompileTimeError',
'previous_result': 'CompileTimeError',
'approved': true
};
const testBuilder = 'test_builder';
const testBuildNumber = '308';
const tryjob2BuildNumber = '309';
const tryjob3BuildNumber = '310';
const testConfiguration = 'test_configuration';
const testReview = 123;
const testPatchset = 3;
const testPreviousPatchset = 1;
const testReviewPath = 'refs/changes/$testReview/$testPatchset';
const testPreviousPatchsetPath =
'refs/changes/$testReview/$testPreviousPatchset';
const Map<String, dynamic> tryjobFailingChange = {
'name': 'test_suite/failing_test',
'configuration': 'test_configuration',
'suite': 'test_suite',
'test_name': 'failing_test',
'time_ms': 2384,
'result': 'CompileTimeError',
'expected': 'Pass',
'matches': false,
'bot_name': 'test_bot',
'commit_hash': testReviewPath,
'commit_time': 1563576771,
'build_number': testBuildNumber,
'builder_name': testBuilder,
'flaky': false,
'previous_flaky': false,
'previous_result': 'Pass',
'previous_commit_hash': existingCommitHash,
'previous_commit_time': 1563576211,
'previous_build_number': '1234',
'changed': true
};
final Map<String, dynamic> tryjob2OtherFailingChange =
Map<String, dynamic>.from(tryjobFailingChange)
..addAll({
'name': 'test_suite/other_failing_test',
'test_name': 'other_failing_test',
'result': 'RuntimeError',
'expected': 'Pass',
'matches': false,
'previous_result': 'Pass',
'changed': true,
'build_number': tryjob2BuildNumber,
});
final Map<String, dynamic> tryjobExistingFailure =
Map<String, dynamic>.from(tryjobFailingChange)
..addAll({
'name': 'test_suite/existing_failure_test',
'test_name': 'passing_test',
'result': 'RuntimeError',
'expected': 'Pass',
'matches': false,
'previous_result': 'RuntimeError',
'changed': false
});
final Map<String, dynamic> tryjob2ExistingFailure =
Map<String, dynamic>.from(tryjobExistingFailure)
..addAll({
'build_number': tryjob2BuildNumber,
});
final Map<String, dynamic> tryjob2FailingChange =
Map<String, dynamic>.from(tryjobFailingChange)
..addAll({
'build_number': tryjob2BuildNumber,
});
final Map<String, dynamic> tryjobPassingChange =
Map<String, dynamic>.from(tryjobFailingChange)
..addAll({
'name': 'test_suite/passing_test',
'test_name': 'passing_test',
'result': 'Pass',
'expected': 'Pass',
'matches': true,
'previous_result': 'RuntimeError',
'changed': true
});
final Map<String, dynamic> tryjob2PassingChange =
Map<String, dynamic>.from(tryjobPassingChange)
..addAll({
'build_number': tryjob2BuildNumber,
});
final Map<String, dynamic> tryjob3PassingChange =
Map<String, dynamic>.from(tryjobPassingChange)
..addAll({
'build_number': tryjob3BuildNumber,
});
String gitilesLog = '''
)]}'
{
"log": [
{
"commit": "$landedCommitHash",
"parents": ["$commit53Hash"],
"author": {
"email": "gerrit_user@example.com"
},
"committer": {
"time": "Fri Nov 29 15:15:00 2019 +0000"
},
"message": "A commit used for testing tryjob approvals, with index 54\\n\\nDescription of the landed commit\\nin multiple lines.\\n\\u003e Change-Id: I8dcc08b7571137e869a16ceea8cc73539eb02a5a\\n\\u003e Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/33337\\n\\nChange-Id: I89b88c3d9f7c743fc340ee73a45c3f57059bcf30\\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/44445\\n\\n"
},
{
"commit": "$commit53Hash",
"parents": ["$existingCommitHash"],
"author": {
"email": "user@example.com"
},
"committer": {
"time": "Thu Nov 28 12:07:55 2019 +0000"
},
"message": "A commit on the git log\\n\\nThis commit does not have results from the CQ\\n\\nChange-Id: I481b2cb8b666885b5c2b9c53fff1177accd01830\\nReviewed-on: https://dart-review.googlesource.com/c/sdk/+/77779\\nCommit-Queue: A user \\u003cuser9@example.com\\u003e\\nReviewed-by: Another user \\u003cuser10@example.com\\u003e\\n"
}
]
}
''';