| // 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. |
| |
| @TestOn('vm') |
| @Timeout(Duration(minutes: 2)) |
| |
| import 'dart:io'; |
| |
| import 'package:dwds/expression_compiler.dart'; |
| import 'package:test/test.dart'; |
| import 'package:test_common/logging.dart'; |
| import 'package:test_common/test_sdk_configuration.dart'; |
| |
| void main() { |
| final debug = false; |
| |
| group('Test SDK configuration provider |', () { |
| setUpAll(() { |
| setCurrentLogWriter(debug: debug); |
| }); |
| |
| test('Creates and deletes SDK directory copy', () async { |
| final provider = TestSdkConfigurationProvider(verbose: debug); |
| final sdkDirectory = provider.sdkLayout.sdkDirectory; |
| final weakSdkSummary = provider.sdkLayout.weakSummaryPath; |
| try { |
| expect(sdkDirectory, _directoryExists, |
| reason: 'SDK directory should be created'); |
| expect(weakSdkSummary, isNot(_fileExists), |
| reason: 'Weak SDK summary should not be generated yet.'); |
| |
| await provider.configuration; |
| expect(weakSdkSummary, _fileExists, |
| reason: 'Weak SDK summary should be generated'); |
| } finally { |
| provider.dispose(); |
| expect(sdkDirectory, isNot(_directoryExists), |
| reason: 'SDK directory copy should be deleted on dispose'); |
| } |
| }); |
| }); |
| |
| group('Test SDK configuration | DDC with DDC modules |', () { |
| setCurrentLogWriter(debug: debug); |
| final provider = TestSdkConfigurationProvider( |
| verbose: debug, ddcModuleFormat: ModuleFormat.ddc); |
| tearDownAll(provider.dispose); |
| |
| test('Can validate configuration with generated assets', () async { |
| final sdkConfiguration = await provider.configuration; |
| sdkConfiguration.validateSdkDir(); |
| sdkConfiguration.validate(); |
| }); |
| |
| test('SDK layout exists', () async { |
| await provider.configuration; |
| final sdkLayout = provider.sdkLayout; |
| |
| expect(sdkLayout.sdkDirectory, _directoryExists); |
| expect(sdkLayout.soundDdcJsPath, _fileExists); |
| expect(sdkLayout.soundDdcJsMapPath, _fileExists); |
| expect(sdkLayout.soundSummaryPath, _fileExists); |
| expect(sdkLayout.soundFullDillPath, _fileExists); |
| |
| expect(sdkLayout.weakDdcJsPath, _fileExists); |
| expect(sdkLayout.weakDdcJsMapPath, _fileExists); |
| expect(sdkLayout.weakSummaryPath, _fileExists); |
| expect(sdkLayout.weakFullDillPath, _fileExists); |
| |
| expect(sdkLayout.ddcModuleLoaderJsPath, _fileExists); |
| expect(sdkLayout.stackTraceMapperPath, _fileExists); |
| |
| expect(sdkLayout.dartPath, _fileExists); |
| expect(sdkLayout.frontendServerSnapshotPath, _fileExists); |
| expect(sdkLayout.dartdevcSnapshotPath, _fileExists); |
| expect(sdkLayout.kernelWorkerSnapshotPath, _fileExists); |
| expect(sdkLayout.devToolsDirectory, _directoryExists); |
| }); |
| }); |
| |
| group('Test SDK configuration | DDC with AMD modules |', () { |
| setCurrentLogWriter(debug: debug); |
| final provider = TestSdkConfigurationProvider(verbose: debug); |
| tearDownAll(provider.dispose); |
| |
| test('Can validate configuration with generated assets', () async { |
| final sdkConfiguration = await provider.configuration; |
| sdkConfiguration.validateSdkDir(); |
| sdkConfiguration.validate(); |
| }); |
| |
| test('SDK layout exists', () async { |
| await provider.configuration; |
| final sdkLayout = provider.sdkLayout; |
| |
| expect(sdkLayout.sdkDirectory, _directoryExists); |
| expect(sdkLayout.soundAmdJsPath, _fileExists); |
| expect(sdkLayout.soundAmdJsMapPath, _fileExists); |
| expect(sdkLayout.soundSummaryPath, _fileExists); |
| expect(sdkLayout.soundFullDillPath, _fileExists); |
| |
| expect(sdkLayout.weakAmdJsPath, _fileExists); |
| expect(sdkLayout.weakAmdJsMapPath, _fileExists); |
| expect(sdkLayout.weakSummaryPath, _fileExists); |
| expect(sdkLayout.weakFullDillPath, _fileExists); |
| |
| expect(sdkLayout.requireJsPath, _fileExists); |
| expect(sdkLayout.stackTraceMapperPath, _fileExists); |
| |
| expect(sdkLayout.dartPath, _fileExists); |
| expect(sdkLayout.dartAotRuntimePath, _fileExists); |
| expect(sdkLayout.frontendServerSnapshotPath, _fileExists); |
| expect(sdkLayout.dartdevcSnapshotPath, _fileExists); |
| expect(sdkLayout.kernelWorkerSnapshotPath, _fileExists); |
| expect(sdkLayout.devToolsDirectory, _directoryExists); |
| }); |
| }); |
| } |
| |
| Matcher _fileExists = |
| predicate((String path) => File(path).existsSync(), 'File exists'); |
| |
| Matcher _directoryExists = predicate( |
| (String path) => Directory(path).existsSync(), 'Directory exists'); |