OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 /* | 5 /* |
6 * This test makes sure that the "skipping Dart2Js compilations if the output is | 6 * This test makes sure that the "skipping Dart2Js compilations if the output is |
7 * already up to date" feature does work as it should. | 7 * already up to date" feature does work as it should. |
8 * Therefore this test ensures that compilations are only skipped if the last | 8 * Therefore this test ensures that compilations are only skipped if the last |
9 * modified date of the output of a dart2js compilation is newer than | 9 * modified date of the output of a dart2js compilation is newer than |
10 * - the the dart application to compile (including it's dependencies) | 10 * - the the dart application to compile (including it's dependencies) |
11 * - the dart2js snapshot | 11 * - the dart2js snapshot |
12 * Furtheremore it ensure that a compilations is not skipped if any of the | 12 * Furtheremore it ensure that a compilations is not skipped if any of the |
13 * necessary files could not be found (dart2js snapshots, previous dart2js | 13 * necessary files could not be found (dart2js snapshots, previous dart2js |
14 * output (+deps file), dart application) | 14 * output (+deps file), dart application) |
15 */ | 15 */ |
16 | 16 |
17 import 'package:expect/expect.dart'; | 17 import 'package:expect/expect.dart'; |
18 import 'package:path/path.dart'; | 18 import 'package:path/path.dart'; |
19 import 'dart:async'; | 19 import 'dart:async'; |
20 import 'dart:io'; | 20 import 'dart:io'; |
21 import '../../../tools/testing/dart/test_suite.dart' as suite; | 21 import '../../../tools/testing/dart/test_suite.dart' as suite; |
22 import '../../../tools/testing/dart/test_runner.dart' as runner; | 22 import '../../../tools/testing/dart/test_runner.dart' as runner; |
23 import '../../../tools/testing/dart/test_options.dart' as options; | 23 import '../../../tools/testing/dart/test_options.dart' as options; |
24 import '../../../tools/testing/dart/status_file_parser.dart' as status; | 24 import '../../../tools/testing/dart/status_file_parser.dart' as status; |
| 25 import '../../../tools/testing/dart/utils.dart'; |
25 | 26 |
26 /** | 27 /** |
27 * This class is reponsible for setting up the files necessary for this test | 28 * This class is reponsible for setting up the files necessary for this test |
28 * as well as touching a file. | 29 * as well as touching a file. |
29 */ | 30 */ |
30 class FileUtils { | 31 class FileUtils { |
31 Directory tempDir; | 32 Directory tempDir; |
32 File testJs; | 33 File testJs; |
33 File testJsDeps; | 34 File testJsDeps; |
34 File testDart; | 35 File testDart; |
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
235 cleanup(); | 236 cleanup(); |
236 throw error; | 237 throw error; |
237 }).then((_) { | 238 }).then((_) { |
238 cleanup(); | 239 cleanup(); |
239 }); | 240 }); |
240 } | 241 } |
241 // We need to wait some time to make sure that the files we 'touch' get a | 242 // We need to wait some time to make sure that the files we 'touch' get a |
242 // bigger timestamp than the old ones | 243 // bigger timestamp than the old ones |
243 new Timer(new Duration(seconds: 1), touchFilesAndRunTests); | 244 new Timer(new Duration(seconds: 1), touchFilesAndRunTests); |
244 } | 245 } |
OLD | NEW |