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

Side by Side Diff: test/runner/expanded_reporter_test.dart

Issue 2099553002: Add an option to run skipped tests. (Closed) Base URL: git@github.com:dart-lang/test@master
Patch Set: Code review changes Created 4 years, 5 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 unified diff | Download patch
« no previous file with comments | « test/runner/engine_test.dart ('k') | test/runner/json_reporter_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 @TestOn("vm") 5 @TestOn("vm")
6 6
7 import 'package:scheduled_test/descriptor.dart' as d; 7 import 'package:scheduled_test/descriptor.dart' as d;
8 import 'package:scheduled_test/scheduled_stream.dart'; 8 import 'package:scheduled_test/scheduled_stream.dart';
9 import 'package:scheduled_test/scheduled_test.dart'; 9 import 'package:scheduled_test/scheduled_test.dart';
10 10
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 }); 252 });
253 253
254 test("displays a skipped group", () { 254 test("displays a skipped group", () {
255 _expectReport(""" 255 _expectReport("""
256 group('skip', () { 256 group('skip', () {
257 test('test 1', () {}); 257 test('test 1', () {});
258 test('test 2', () {}); 258 test('test 2', () {});
259 test('test 3', () {}); 259 test('test 3', () {});
260 }, skip: true);""", 260 }, skip: true);""",
261 """ 261 """
262 +0: skip 262 +0: skip test 1
263 +0 ~1: All tests skipped."""); 263 +0 ~1: skip test 2
264 +0 ~2: skip test 3
265 +0 ~3: All tests skipped.""");
264 }); 266 });
265 267
266 test("runs skipped tests along with successful tests", () { 268 test("runs skipped tests along with successful tests", () {
267 _expectReport(""" 269 _expectReport("""
268 test('skip 1', () {}, skip: true); 270 test('skip 1', () {}, skip: true);
269 test('success 1', () {}); 271 test('success 1', () {});
270 test('skip 2', () {}, skip: true); 272 test('skip 2', () {}, skip: true);
271 test('success 2', () {});""", 273 test('success 2', () {});""",
272 """ 274 """
273 +0: skip 1 275 +0: skip 1
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 _expectReport(""" 309 _expectReport("""
308 test('skip 1', () {}, skip: 'some reason'); 310 test('skip 1', () {}, skip: 'some reason');
309 test('skip 2', () {}, skip: 'or another');""", 311 test('skip 2', () {}, skip: 'or another');""",
310 """ 312 """
311 +0: skip 1 313 +0: skip 1
312 Skip: some reason 314 Skip: some reason
313 +0 ~1: skip 2 315 +0 ~1: skip 2
314 Skip: or another 316 Skip: or another
315 +0 ~2: All tests skipped."""); 317 +0 ~2: All tests skipped.""");
316 }); 318 });
319
320 test("runs skipped tests with --run-skipped", () {
321 _expectReport("""
322 test('skip 1', () {}, skip: 'some reason');
323 test('skip 2', () {}, skip: 'or another');""",
324 """
325 +0: skip 1
326 +1: skip 2
327 +2: All tests passed!""",
328 args: ["--run-skipped"]);
329 });
317 }); 330 });
318 } 331 }
319 332
320 void _expectReport(String tests, String expected) { 333 void _expectReport(String tests, String expected, {List<String> args}) {
321 var dart = """ 334 var dart = """
322 import 'dart:async'; 335 import 'dart:async';
323 336
324 import 'package:test/test.dart'; 337 import 'package:test/test.dart';
325 338
326 void main() { 339 void main() {
327 $tests 340 $tests
328 } 341 }
329 """; 342 """;
330 343
331 d.file("test.dart", dart).create(); 344 d.file("test.dart", dart).create();
332 345
333 var test = runTest(["test.dart"]); 346 var test = runTest(["test.dart"]..addAll(args ?? []));
334 test.shouldExit(); 347 test.shouldExit();
335 348
336 schedule(() async { 349 schedule(() async {
337 var stdoutLines = await test.stdoutStream().toList(); 350 var stdoutLines = await test.stdoutStream().toList();
338 351
339 // Remove excess trailing whitespace and trim off timestamps. 352 // Remove excess trailing whitespace and trim off timestamps.
340 var actual = stdoutLines.map((line) { 353 var actual = stdoutLines.map((line) {
341 if (line.startsWith(" ") || line.isEmpty) return line.trimRight(); 354 if (line.startsWith(" ") || line.isEmpty) return line.trimRight();
342 return line.trim().replaceFirst(new RegExp("^[0-9]{2}:[0-9]{2} "), ""); 355 return line.trim().replaceFirst(new RegExp("^[0-9]{2}:[0-9]{2} "), "");
343 }).join("\n"); 356 }).join("\n");
344 357
345 // Un-indent the expected string. 358 // Un-indent the expected string.
346 var indentation = expected.indexOf(new RegExp("[^ ]")); 359 var indentation = expected.indexOf(new RegExp("[^ ]"));
347 expected = expected.split("\n").map((line) { 360 expected = expected.split("\n").map((line) {
348 if (line.isEmpty) return line; 361 if (line.isEmpty) return line;
349 return line.substring(indentation); 362 return line.substring(indentation);
350 }).join("\n"); 363 }).join("\n");
351 364
352 expect(actual, equals(expected)); 365 expect(actual, equals(expected));
353 }); 366 });
354 } 367 }
OLDNEW
« no previous file with comments | « test/runner/engine_test.dart ('k') | test/runner/json_reporter_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698