Reenable some sample tests and fix how they find their data files

R=kustermann@google.com
BUG=

Review-Url: https://codereview.chromium.org/2709713002 .
This commit is contained in:
Erik Corry 2017-02-21 13:08:55 +01:00
parent e64167d42a
commit e8e7b2c832
3 changed files with 17 additions and 22 deletions

View file

@ -4,6 +4,11 @@
//
// Dart test program for testing native extensions.
// OtherResources=../sample_synchronous_extension.dart
// OtherResources=../sample_asynchronous_extension.dart
// OtherResources=../test_sample_synchronous_extension.dart
// OtherResources=../test_sample_asynchronous_extension.dart
import 'sample_extension_test_helper.dart';
void main() {

View file

@ -11,30 +11,25 @@ import 'dart:isolate';
import "package:expect/expect.dart";
import "package:path/path.dart";
Future copyFileToDirectory(String file, String directory) {
Future copyFileToDirectory(String file, String directory) async {
String src = file;
String dst = directory;
ProcessResult result;
switch (Platform.operatingSystem) {
case 'linux':
case 'macos':
return Process.run('cp', [src, dst]);
result = await Process.run('cp', [src, dst]);
break;
case 'windows':
return Process.run('cmd.exe', ['/C', 'copy $src $dst']);
result = await Process.run('cmd.exe', ['/C', 'copy $src $dst']);
break;
default:
Expect.fail('Unknown operating system ${Platform.operatingSystem}');
}
}
String getNativeLibraryPath(String buildDirectory) {
switch (Platform.operatingSystem) {
case 'linux':
return join(buildDirectory, 'lib.target', 'libsample_extension.so');
case 'macos':
return join(buildDirectory, 'libsample_extension.dylib');
case 'windows':
return join(buildDirectory, 'sample_extension.dll');
default:
Expect.fail('Unknown operating system ${Platform.operatingSystem}');
if (result.exitCode != 0) {
print(result.stdout);
print(result.stderr);
throw "Failed to copy test file ($file) to temporary directory ($directory)";
}
}
@ -57,10 +52,8 @@ Future testNativeExtensions(String snapshotKind) async {
String testDirectory = tempDirectory.path;
String sourceDirectory = Platform.script.resolve('..').toFilePath();
// Copy sample_extension shared library, sample_extension dart files and
// sample_extension tests to the temporary test directory.
await copyFileToDirectory(getNativeLibraryPath(buildDirectory),
testDirectory);
// Copy sample_extension dart files and sample_extension tests to the
// temporary test directory.
for (var file in ['sample_synchronous_extension.dart',
'sample_asynchronous_extension.dart',
'test_sample_synchronous_extension.dart',

View file

@ -29,8 +29,5 @@ sample_extension/test/*: Skip # Issue 14705
[ $compiler == precompiler ]
sample_extension/test/*: Skip # These tests attempt to spawn another script using the precompiled runtime.
[ $compiler == app_jit ]
sample_extension/test/*: Skip # Shared use of a temp directory
[ $compiler == none && $runtime == vm && $system == windows && $mode == debug ]
sample_extension/test/sample_extension_app_snapshot_test: Pass, RuntimeError # Issue 28842