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

Unified Diff: pkg/analysis_server/bin/fuzz.dart

Issue 795833005: Server clean-up (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analysis_server/bin/dartdeps.dart ('k') | pkg/analysis_server/bin/fuzz/README.txt » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analysis_server/bin/fuzz.dart
diff --git a/pkg/analysis_server/bin/fuzz.dart b/pkg/analysis_server/bin/fuzz.dart
deleted file mode 100644
index 49bdd1d6ad8c9b03afa56f4eaae0ab8731102d85..0000000000000000000000000000000000000000
--- a/pkg/analysis_server/bin/fuzz.dart
+++ /dev/null
@@ -1,171 +0,0 @@
-// Copyright (c) 2014, 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.
-
-import 'dart:async';
-import 'dart:io';
-
-import 'package:args/args.dart';
-import 'package:matcher/matcher.dart';
-import 'package:path/path.dart' as path;
-
-import 'fuzz/server_manager.dart';
-
-/**
- * Start analysis server as a separate process and use the stdio to communicate
- * with the server.
- */
-void main(List<String> args) {
- new _FuzzTest().run(args);
-}
-
-/**
- * Instances of [_FuzzTest] launch and test an analysis server.
- * You must specify the location of the Dart SDK and the directory
- * containing sources to be analyzed.
- */
-class _FuzzTest {
- /**
- * The name of the application that is used to start the fuzz tester.
- */
- static const BINARY_NAME = 'fuzz';
-
- //TODO (danrubel) extract common behavior for use in multiple test scenarios
- //TODO (danrubel) cleanup test to use async/await for better readability
- // VM flag --enable_async
-
- static const String DART_SDK_OPTION = 'dart-sdk';
- static const String HELP_OPTION = 'help';
-
- File serverSnapshot;
- Directory appDir;
-
- /// Parse the arguments and initialize the receiver
- /// Return `true` if proper arguments were provided
- bool parseArgs(List<String> args) {
- ArgParser parser = new ArgParser();
-
- void error(String errMsg) {
- stderr.writeln(errMsg);
- print('');
- _printUsage(parser);
- exitCode = 11;
- }
-
- parser.addOption(DART_SDK_OPTION, help: '[sdkPath] path to Dart SDK');
- parser.addFlag(
- HELP_OPTION,
- help: 'print this help message without starting analysis',
- defaultsTo: false,
- negatable: false);
-
- ArgResults results;
- try {
- results = parser.parse(args);
- } on FormatException catch (e) {
- error(e.message);
- return false;
- }
- if (results[HELP_OPTION]) {
- _printUsage(parser);
- return false;
- }
- String sdkPath = results[DART_SDK_OPTION];
- if (sdkPath is! String) {
- error('Missing path to Dart SDK');
- return false;
- }
- Directory sdkDir = new Directory(sdkPath);
- if (!sdkDir.existsSync()) {
- error('Specified Dart SDK does not exist: $sdkPath');
- return false;
- }
- if (results.rest.length == 0) {
- error('Expected directory to analyze');
- return false;
- }
- appDir = new Directory(results.rest[0]);
- if (!appDir.existsSync()) {
- error('Specified application directory does not exist: $appDir');
- return false;
- }
- if (results.rest.length > 1) {
- error('Unexpected arguments after $appDir');
- return false;
- }
- serverSnapshot = new File(
- path.join(sdkDir.path, 'bin', 'snapshots', 'analysis_server.dart.snapshot'));
- if (!serverSnapshot.existsSync()) {
- error('Analysis Server snapshot not found: $serverSnapshot');
- return false;
- }
- return true;
- }
-
- /// Main entry point for launching, testing, and shutting down the server
- void run(List<String> args) {
- if (!parseArgs(args)) return;
- ServerManager.start(serverSnapshot.path).then((ServerManager manager) {
- runZoned(() {
- test(manager).then(manager.stop).then((_) {
- expect(manager.errorOccurred, isFalse);
- print('Test completed successfully');
- });
- }, onError: (error, stack) {
- stderr.writeln(error);
- print(stack);
- exitCode = 12;
- manager.stop();
- });
- });
- }
-
- /// Use manager to exercise the analysis server
- Future test(ServerManager manager) {
-
- // perform initial analysis
- return manager.analyze(appDir).then((AnalysisResults analysisResults) {
- print(
- 'Found ${analysisResults.errorCount} errors,'
- ' ${analysisResults.warningCount} warnings,'
- ' and ${analysisResults.hintCount} hints in ${analysisResults.elapsed}');
-
- // edit a method body
- return manager.openFileNamed(
- 'domain_completion.dart').then((Editor editor) {
- return editor.moveAfter('Response processRequest(Request request) {');
- }).then((Editor editor) {
- return editor.replace(0, '\nOb');
- }).then((Editor editor) {
-
- // request code completion and assert results
- return editor.getSuggestions().then((List<CompletionResults> list) {
- expect(list, isNotNull);
- expect(list.length, equals(0));
- list.forEach((CompletionResults results) {
- print(
- '${results.elapsed} received ${results.suggestionCount} suggestions');
- });
- return editor;
- });
-
- }).then((Editor editor) {
- print('tests complete');
- });
- });
- }
-
-// void _printAnalysisSummary(AnalysisResults results) {
-// print(
-// 'Found ${results.errorCount} errors, ${results.warningCount} warnings,'
-// ' and ${results.hintCount} hints in $results.elapsed');
-// }
-
- /// Print information about how to use the server.
- void _printUsage(ArgParser parser) {
- print('Usage: $BINARY_NAME [flags] <application_directory>');
- print('');
- print('Supported flags are:');
- print(parser.usage);
- }
-}
« no previous file with comments | « pkg/analysis_server/bin/dartdeps.dart ('k') | pkg/analysis_server/bin/fuzz/README.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698