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

Unified Diff: pkg/intl/test/message_extraction/failed_extraction_test.dart

Issue 197283043: Avoid flaking in message_extraction tests by doing everything in a temp directory (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fixes from review Created 6 years, 9 months 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: pkg/intl/test/message_extraction/failed_extraction_test.dart
diff --git a/pkg/intl/test/message_extraction/failed_extraction_test.dart b/pkg/intl/test/message_extraction/failed_extraction_test.dart
index 38361b8181ad7ac1996cdfc07169023986717576..9a0206253c0233849f68205352292af0193755fa 100644
--- a/pkg/intl/test/message_extraction/failed_extraction_test.dart
+++ b/pkg/intl/test/message_extraction/failed_extraction_test.dart
@@ -1,16 +1,39 @@
+// Copyright (c) 2014, 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.
+library failed_extraction_test;
+
import "message_extraction_test.dart";
import "dart:io";
import "package:unittest/unittest.dart";
main() {
- run(null, ["extract_to_json.dart",
- "sample_with_messages.dart", "part_of_sample_with_messages.dart"])
- .then((ProcessResult result) {
- expect(result.exitCode, 0);
+ test("Expect warnings but successful extraction", () {
+ runTestWithWarnings(warningsAreErrors: false, expectedExitCode: 0);
});
- run(null, ["extract_to_json.dart", "--warnings-are-errors",
- "sample_with_messages.dart", "part_of_sample_with_messages.dart"])
- .then((ProcessResult result) {
- expect(result.exitCode, 1);
- });
-}
+}
+
+void runTestWithWarnings({bool warningsAreErrors, int expectedExitCode}) {
+
+ void verify(ProcessResult result) {
+ try {
+ expect(result.exitCode, expectedExitCode);
+ } finally {
+ deleteGeneratedFiles();
+ }
+ }
+
+ copyFilesToTempDirectory();
+ var program = asTestDirPath("extract_to_json.dart");
+ var args = ["--output-dir=$tempDir"];
+ if (warningsAreErrors) {
+ args.add('--warnings-are-errors');
+ }
+ var files = [asTempDirPath("sample_with_messages.dart"), asTempDirPath(
+ "part_of_sample_with_messages.dart"),];
+ var allArgs = [program]
+ ..addAll(args)
+ ..addAll(files);
+ var callback = expectAsync(verify);
+ run(null, allArgs).then(callback);
+}

Powered by Google App Engine
This is Rietveld 408576698