| // 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" |
| } |
| ] |
| } |
| '''; |