Enable comment-only test exclusion for engine (#2261)
diff --git a/app_dart/lib/src/request_handlers/github/webhook_subscription.dart b/app_dart/lib/src/request_handlers/github/webhook_subscription.dart
index 0e59cd9..96a7b68 100644
--- a/app_dart/lib/src/request_handlers/github/webhook_subscription.dart
+++ b/app_dart/lib/src/request_handlers/github/webhook_subscription.dart
@@ -416,7 +416,7 @@
filename.endsWith('.m') ||
filename.endsWith('.java') ||
filename.endsWith('.cc')) {
- needsTests = true;
+ needsTests = !_allChangesAreCodeComments(file);
}
if (kEngineTestRegExp.hasMatch(filename)) {
diff --git a/app_dart/test/request_handlers/github/webhook_subscription_test.dart b/app_dart/test/request_handlers/github/webhook_subscription_test.dart
index 9740d49..09e00ed 100644
--- a/app_dart/test/request_handlers/github/webhook_subscription_test.dart
+++ b/app_dart/test/request_handlers/github/webhook_subscription_test.dart
@@ -1610,6 +1610,46 @@
));
});
+ test('Engine does not comment for comment-only changes', () async {
+ const int issueNumber = 123;
+
+ tester.message = generateGithubWebhookMessage(
+ action: 'opened',
+ number: issueNumber,
+ slug: Config.engineSlug,
+ );
+ const String patch = '''
+@@ -128,7 +128,7 @@
+
+/// Insert interesting comment here.
+///
+-/// More details here, but some of them are wrong.
++/// These are the right details!
+void foo() {
+ int bar = 0;
+ String baz = '';
+''';
+
+ when(pullRequestsService.listFiles(Config.engineSlug, issueNumber)).thenAnswer(
+ (_) => Stream<PullRequestFile>.fromIterable(<PullRequestFile>[
+ PullRequestFile()
+ ..filename = 'flutter/lib/ui/foo.dart'
+ ..additionsCount = 1
+ ..deletionsCount = 1
+ ..changesCount = 2
+ ..patch = patch,
+ ]),
+ );
+
+ await tester.post(webhook);
+
+ verifyNever(issuesService.createComment(
+ Config.engineSlug,
+ issueNumber,
+ argThat(contains(config.missingTestsPullRequestMessageValue)),
+ ));
+ });
+
test('No labels when only pubspec.yaml changes', () async {
const int issueNumber = 123;