| Index: mojo/dart/mojom/test/generate_test.dart
|
| diff --git a/mojo/dart/mojom/test/generate_test.dart b/mojo/dart/mojom/test/generate_test.dart
|
| deleted file mode 100644
|
| index 0ddc862a9ee5d124a051a0b8b6cf30fb1a92bf1d..0000000000000000000000000000000000000000
|
| --- a/mojo/dart/mojom/test/generate_test.dart
|
| +++ /dev/null
|
| @@ -1,390 +0,0 @@
|
| -// Copyright 2015 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -import 'dart:io';
|
| -
|
| -import 'package:mojom/generate.dart' as generate;
|
| -import 'package:path/path.dart' as path;
|
| -import 'package:unittest/unittest.dart';
|
| -
|
| -final mojomContents = '''
|
| -[DartPackage="generated"]
|
| -module generated;
|
| -
|
| -struct Transform {
|
| - // Row major order.
|
| - array<float, 16> matrix;
|
| -};
|
| -''';
|
| -
|
| -final dldMojomContents1 = '''
|
| -[DartPackage="downloaded"]
|
| -module downloaded;
|
| -
|
| -struct Downloaded1 {
|
| - int32 status;
|
| -};
|
| -''';
|
| -
|
| -final dldMojomContents2 = '''
|
| -[DartPackage="downloaded"]
|
| -module downloaded;
|
| -
|
| -struct Downloaded2 {
|
| - int32 status;
|
| -};
|
| -''';
|
| -
|
| -main() async {
|
| - String mojoSdk;
|
| - if (Platform.environment['MOJO_SDK'] != null) {
|
| - mojoSdk = Platform.environment['MOJO_SDK'];
|
| - } else {
|
| - mojoSdk = path.normalize(path.join(
|
| - path.dirname(Platform.script.path), '..', '..', '..', 'public'));
|
| - }
|
| - if (!await new Directory(mojoSdk).exists()) {
|
| - fail("Could not find the Mojo SDK");
|
| - }
|
| -
|
| - final scriptPath = path.dirname(Platform.script.path);
|
| - final testPackagePath = path.join(scriptPath, 'test_packages');
|
| - final testMojomPath = path.join(testPackagePath, 'mojom');
|
| - final testMojomLinkPath = path.join(scriptPath, 'mojom_link_target');
|
| - final testMojomLibPath = path.join(testMojomLinkPath, 'lib');
|
| - final fakeGeneratePath = path.join(testMojomLibPath, 'generate.dart');
|
| -
|
| - final pregenPath = path.join(testPackagePath, 'pregen');
|
| - final pregenFilePath =
|
| - path.join(pregenPath, 'mojom', 'pregen', 'pregen.mojom.dart');
|
| -
|
| - final additionalRootPath = path.join(scriptPath, 'additional_dir');
|
| - final additionalPath =
|
| - path.join(additionalRootPath, 'additional', 'additional.mojom.dart');
|
| -
|
| - final generatedPackagePath = path.join(testPackagePath, 'generated');
|
| -
|
| - final downloadedPackagePath = path.join(testPackagePath, 'downloaded');
|
| - final dotMojomsPath = path.join(downloadedPackagePath, '.mojoms');
|
| -
|
| - setUp(() async {
|
| - await new File(pregenFilePath).create(recursive: true);
|
| - await new File(additionalPath).create(recursive: true);
|
| - await new File(fakeGeneratePath).create(recursive: true);
|
| - await new Link(testMojomPath).create(testMojomLibPath);
|
| -
|
| - final generatedMojomFile = new File(path.join(testPackagePath, 'generated',
|
| - 'mojom', 'generated', 'public', 'interfaces', 'generated.mojom'));
|
| - await generatedMojomFile.create(recursive: true);
|
| - await generatedMojomFile.writeAsString(mojomContents);
|
| -
|
| - await new Directory(downloadedPackagePath).create(recursive: true);
|
| - });
|
| -
|
| - tearDown(() async {
|
| - await new Directory(additionalRootPath).delete(recursive: true);
|
| - await new Directory(testPackagePath).delete(recursive: true);
|
| - await new Directory(testMojomLinkPath).delete(recursive: true);
|
| - });
|
| -
|
| - group('No Download', () {
|
| - test('No-op', () async {
|
| - await generate.main(['-p', testPackagePath, '-m', mojoSdk]);
|
| - final mojomPackageDir = new Directory(testMojomPath);
|
| - final generateFile = new File(path.join(testMojomPath, 'generate.dart'));
|
| - expect(await mojomPackageDir.exists(), isTrue);
|
| - expect(await generateFile.exists(), isTrue);
|
| - });
|
| -
|
| - test('Additional', () async {
|
| - await generate.main(
|
| - ['-p', testPackagePath, '-m', mojoSdk, '-a', additionalRootPath]);
|
| - final mojomPackageDir = new Directory(testMojomPath);
|
| - final generateFile = new File(path.join(testMojomPath, 'generate.dart'));
|
| - final additionalFile = new File(
|
| - path.join(testMojomPath, 'additional', 'additional.mojom.dart'));
|
| - expect(await mojomPackageDir.exists(), isTrue);
|
| - expect(await generateFile.exists(), isTrue);
|
| - expect(await additionalFile.exists(), isTrue);
|
| - });
|
| -
|
| - test('Generated', () async {
|
| - await generate.main(['-g', '-p', testPackagePath, '-m', mojoSdk]);
|
| - final generatedFile = new File(
|
| - path.join(generatedPackagePath, 'generated', 'generated.mojom.dart'));
|
| - expect(await generatedFile.exists(), isTrue);
|
| - });
|
| -
|
| - test('All', () async {
|
| - await generate.main([
|
| - '-g',
|
| - '-p',
|
| - testPackagePath,
|
| - '-m',
|
| - mojoSdk,
|
| - '-a',
|
| - additionalRootPath
|
| - ]);
|
| -
|
| - final additionalFile = new File(
|
| - path.join(testMojomPath, 'additional', 'additional.mojom.dart'));
|
| - expect(await additionalFile.exists(), isTrue);
|
| -
|
| - final generatedFile = new File(
|
| - path.join(generatedPackagePath, 'generated', 'generated.mojom.dart'));
|
| - expect(await generatedFile.exists(), isTrue);
|
| - });
|
| - });
|
| -
|
| - group('Download', () {
|
| - var httpServer;
|
| - setUp(() async {
|
| - httpServer = await HttpServer.bind("localhost", 0);
|
| - httpServer.listen((HttpRequest request) {
|
| - String path = request.uri.path;
|
| - if (path.endsWith('path/to/mojom/download_one.mojom')) {
|
| - request.response.write(dldMojomContents1);
|
| - } else if (path.endsWith('path/to/mojom/download_two.mojom')) {
|
| - request.response.write(dldMojomContents2);
|
| - } else {
|
| - request.response.statusCode = HttpStatus.NOT_FOUND;
|
| - }
|
| - request.response.close();
|
| - });
|
| - });
|
| -
|
| - tearDown(() async {
|
| - await httpServer.close();
|
| - httpServer = null;
|
| - });
|
| -
|
| - test('simple', () async {
|
| - final mojomsFile = new File(dotMojomsPath);
|
| - await mojomsFile.create(recursive: true);
|
| - await mojomsFile.writeAsString(
|
| - "root: http://localhost:${httpServer.port}\n"
|
| - "path/to/mojom/download_one.mojom\n");
|
| - await generate.main(['-p', testPackagePath, '-m', mojoSdk, '-d', '-g']);
|
| - final downloadedFile = new File(path.join(
|
| - downloadedPackagePath, 'downloaded', 'download_one.mojom.dart'));
|
| - expect(await downloadedFile.exists(), isTrue);
|
| - await mojomsFile.delete();
|
| - });
|
| -
|
| - test('two files', () async {
|
| - final mojomsFile = new File(dotMojomsPath);
|
| - await mojomsFile.create(recursive: true);
|
| - await mojomsFile.writeAsString(
|
| - "root: http://localhost:${httpServer.port}\n"
|
| - "path/to/mojom/download_one.mojom\n"
|
| - "path/to/mojom/download_two.mojom\n");
|
| - await generate.main(['-p', testPackagePath, '-m', mojoSdk, '-d', '-g']);
|
| - final downloaded1File = new File(path.join(
|
| - downloadedPackagePath, 'downloaded', 'download_one.mojom.dart'));
|
| - expect(await downloaded1File.exists(), isTrue);
|
| - final downloaded2File = new File(path.join(
|
| - downloadedPackagePath, 'downloaded', 'download_two.mojom.dart'));
|
| - expect(await downloaded2File.exists(), isTrue);
|
| - await mojomsFile.delete();
|
| - });
|
| -
|
| - test('two roots', () async {
|
| - final mojomsFile = new File(dotMojomsPath);
|
| - await mojomsFile.create(recursive: true);
|
| - await mojomsFile.writeAsString(
|
| - "root: http://localhost:${httpServer.port}\n"
|
| - "path/to/mojom/download_one.mojom\n"
|
| - "root: http://localhost:${httpServer.port}\n"
|
| - "path/to/mojom/download_two.mojom\n");
|
| - await generate.main(['-p', testPackagePath, '-m', mojoSdk, '-d', '-g']);
|
| - final downloaded1File = new File(path.join(
|
| - downloadedPackagePath, 'downloaded', 'download_one.mojom.dart'));
|
| - expect(await downloaded1File.exists(), isTrue);
|
| - final downloaded2File = new File(path.join(
|
| - downloadedPackagePath, 'downloaded', 'download_two.mojom.dart'));
|
| - expect(await downloaded2File.exists(), isTrue);
|
| - await mojomsFile.delete();
|
| - });
|
| -
|
| - test('simple-comment', () async {
|
| - final mojomsFile = new File(dotMojomsPath);
|
| - await mojomsFile.create(recursive: true);
|
| - await mojomsFile.writeAsString("# Comments are allowed\n"
|
| - " root: http://localhost:${httpServer.port}\n\n\n\n"
|
| - " # Here too\n"
|
| - " path/to/mojom/download_one.mojom\n"
|
| - "# And here\n");
|
| - await generate.main(['-p', testPackagePath, '-m', mojoSdk, '-d', '-g']);
|
| - final downloadedFile = new File(path.join(
|
| - downloadedPackagePath, 'downloaded', 'download_one.mojom.dart'));
|
| - expect(await downloadedFile.exists(), isTrue);
|
| - await mojomsFile.delete();
|
| - });
|
| -
|
| - test('404', () async {
|
| - final mojomsFile = new File(dotMojomsPath);
|
| - await mojomsFile.create(recursive: true);
|
| - await mojomsFile.writeAsString(
|
| - "root: http://localhost:${httpServer.port}\n"
|
| - "blah\n");
|
| - var fail = false;
|
| - try {
|
| - await generate.main(['-p', testPackagePath, '-m', mojoSdk, '-d', '-g']);
|
| - } on generate.DownloadError {
|
| - fail = true;
|
| - }
|
| - expect(fail, isTrue);
|
| - await mojomsFile.delete();
|
| - });
|
| - });
|
| -
|
| - group('Failures', () {
|
| - test('Bad Package Root', () async {
|
| - final dummyPackageRoot = path.join(scriptPath, 'dummyPackageRoot');
|
| - var fail = false;
|
| - try {
|
| - await generate.main(['-p', dummyPackageRoot, '-m', mojoSdk]);
|
| - } on generate.CommandLineError {
|
| - fail = true;
|
| - }
|
| - expect(fail, isTrue);
|
| - });
|
| -
|
| - test('Non-absolute PackageRoot', () async {
|
| - final dummyPackageRoot = 'dummyPackageRoot';
|
| - var fail = false;
|
| - try {
|
| - await generate.main(['-p', dummyPackageRoot, '-m', mojoSdk]);
|
| - } on generate.CommandLineError {
|
| - fail = true;
|
| - }
|
| - expect(fail, isTrue);
|
| - });
|
| -
|
| - test('Bad Additional Dir', () async {
|
| - final dummyAdditional = path.join(scriptPath, 'dummyAdditional');
|
| - var fail = false;
|
| - try {
|
| - await generate.main(
|
| - ['-a', dummyAdditional, '-p', testPackagePath, '-m', mojoSdk]);
|
| - } on generate.CommandLineError {
|
| - fail = true;
|
| - }
|
| - expect(fail, isTrue);
|
| - });
|
| -
|
| - test('Non-absolute Additional Dir', () async {
|
| - final dummyAdditional = 'dummyAdditional';
|
| - var fail = false;
|
| - try {
|
| - await generate.main(
|
| - ['-a', dummyAdditional, '-p', testPackagePath, '-m', mojoSdk]);
|
| - } on generate.CommandLineError {
|
| - fail = true;
|
| - }
|
| - expect(fail, isTrue);
|
| - });
|
| -
|
| - test('No Mojo Package', () async {
|
| - final dummyPackageRoot = path.join(scriptPath, 'dummyPackageRoot');
|
| - final dummyPackageDir = new Directory(dummyPackageRoot);
|
| - await dummyPackageDir.create(recursive: true);
|
| -
|
| - var fail = false;
|
| - try {
|
| - await generate.main(['-p', dummyPackageRoot, '-m', mojoSdk]);
|
| - } on generate.CommandLineError {
|
| - fail = true;
|
| - }
|
| - await dummyPackageDir.delete(recursive: true);
|
| - expect(fail, isTrue);
|
| - });
|
| -
|
| - test('Bad Mojo SDK', () async {
|
| - final dummySdk = path.join(scriptPath, 'dummySdk');
|
| - var fail = false;
|
| - try {
|
| - await generate.main(['-g', '-m', dummySdk, '-p', testPackagePath]);
|
| - } on generate.CommandLineError {
|
| - fail = true;
|
| - }
|
| - expect(fail, isTrue);
|
| - });
|
| -
|
| - test('Download No Server', () async {
|
| - final mojomsFile = new File(dotMojomsPath);
|
| - await mojomsFile.create(recursive: true);
|
| - await mojomsFile.writeAsString("root: http://localhots\n"
|
| - "path/to/mojom/download_one.mojom\n");
|
| - var fail = false;
|
| - try {
|
| - await generate.main(['-p', testPackagePath, '-m', mojoSdk, '-d', '-g']);
|
| - } on generate.DownloadError {
|
| - fail = true;
|
| - }
|
| - expect(fail, isTrue);
|
| - await mojomsFile.delete();
|
| - });
|
| -
|
| - test('.mojoms no root', () async {
|
| - final mojomsFile = new File(dotMojomsPath);
|
| - await mojomsFile.create(recursive: true);
|
| - await mojomsFile.writeAsString("path/to/mojom/download_one.mojom\n");
|
| - var fail = false;
|
| - try {
|
| - await generate.main(['-p', testPackagePath, '-m', mojoSdk, '-d', '-g']);
|
| - } on generate.DownloadError {
|
| - fail = true;
|
| - }
|
| - expect(fail, isTrue);
|
| - await mojomsFile.delete();
|
| - });
|
| -
|
| - test('.mojoms blank root', () async {
|
| - final mojomsFile = new File(dotMojomsPath);
|
| - await mojomsFile.create(recursive: true);
|
| - await mojomsFile.writeAsString("root:\n"
|
| - "path/to/mojom/download_one.mojom\n");
|
| - var fail = false;
|
| - try {
|
| - await generate.main(['-p', testPackagePath, '-m', mojoSdk, '-d', '-g']);
|
| - } on generate.DownloadError {
|
| - fail = true;
|
| - }
|
| - expect(fail, isTrue);
|
| - await mojomsFile.delete();
|
| - });
|
| -
|
| - test('.mojoms root malformed', () async {
|
| - final mojomsFile = new File(dotMojomsPath);
|
| - await mojomsFile.create(recursive: true);
|
| - await mojomsFile.writeAsString("root: gobledygook\n"
|
| - "path/to/mojom/download_one.mojom\n");
|
| - var fail = false;
|
| - try {
|
| - await generate.main(['-p', testPackagePath, '-m', mojoSdk, '-d', '-g']);
|
| - } on generate.DownloadError {
|
| - fail = true;
|
| - }
|
| - expect(fail, isTrue);
|
| - await mojomsFile.delete();
|
| - });
|
| -
|
| - test('.mojoms root without mojom', () async {
|
| - final mojomsFile = new File(dotMojomsPath);
|
| - await mojomsFile.create(recursive: true);
|
| - await mojomsFile.writeAsString("root: http://localhost\n"
|
| - "root: http://localhost\n"
|
| - "path/to/mojom/download_one.mojom\n");
|
| - var fail = false;
|
| - try {
|
| - await generate.main(['-p', testPackagePath, '-m', mojoSdk, '-d', '-g']);
|
| - } on generate.DownloadError {
|
| - fail = true;
|
| - }
|
| - expect(fail, isTrue);
|
| - await mojomsFile.delete();
|
| - });
|
| - });
|
| -}
|
|
|