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

Unified Diff: tools/testing/dart/http_server.dart

Issue 552443003: Add package-root option to the testing scripts (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years, 3 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
Index: tools/testing/dart/http_server.dart
===================================================================
--- tools/testing/dart/http_server.dart (revision 39949)
+++ tools/testing/dart/http_server.dart (working copy)
@@ -56,7 +56,8 @@
/// /root_build/X: This will serve the corresponding file from the build
/// directory (i.e. '$BuildDirectory/X').
/// /FOO/packages/BAR: This will serve the corresponding file from the packages
-/// directory (i.e. '$BuildDirectory/packages/BAR')
+/// directory (i.e. '$BuildDirectory/packages/BAR') or the
+/// passed in package root
Bill Hesse 2014/09/08 15:31:20 passed-in package root. Multi-word adjective phra
/// /ws: This will upgrade the connection to a WebSocket connection and echo
/// all data back to the client.
///
@@ -84,6 +85,7 @@
parser.addFlag('help', abbr: 'h', negatable: false,
help: 'Print this usage information.');
parser.addOption('build-directory', help: 'The build directory to use.');
+ parser.addOption('package-root', help: 'The package root to use.');
parser.addOption('network', help: 'The network interface to use.',
defaultsTo: '0.0.0.0');
parser.addFlag('csp', help: 'Use Content Security Policy restrictions.',
@@ -97,7 +99,9 @@
} else {
var servers = new TestingServers(new Path(args['build-directory']),
args['csp'],
- args['runtime']);
+ args['runtime'],
+ null,
+ args['package-root']);
var port = int.parse(args['port']);
var crossOriginPort = int.parse(args['crossOriginPort']);
servers.startServers(args['network'],
@@ -136,16 +140,21 @@
List _serverList = [];
Path _buildDirectory = null;
Path _dartDirectory = null;
+ Path _packageRoot;
final bool useContentSecurityPolicy;
final String runtime;
DispatchingServer _server;
TestingServers(Path buildDirectory,
this.useContentSecurityPolicy,
- [String this.runtime = 'none', String dartDirectory]) {
+ [String this.runtime = 'none', String dartDirectory,
+ String packageRoot]) {
_buildDirectory = TestUtils.absolutePath(buildDirectory);
_dartDirectory = dartDirectory == null ? TestUtils.dartDir
: new Path(dartDirectory);
+ _packageRoot = packageRoot == null ?
+ _buildDirectory.append('packages') :
+ new Path(packageRoot);
}
int get port => _serverList[0].port;
@@ -176,7 +185,8 @@
var buildDirectory = _buildDirectory.toNativePath();
var csp = useContentSecurityPolicy ? '--csp ' : '';
return '$dart $script -p $port -c $crossOriginPort $csp'
- '--build-directory=$buildDirectory --runtime=$runtime';
+ '--build-directory=$buildDirectory --runtime=$runtime '
+ '--package-root=$_packageRoot';
}
void stopServers() {
@@ -213,6 +223,7 @@
"max-age=$_CACHE_EXPIRATION_IN_SECONDS");
var path = _getFilePathFromRequestPath(request.uri.path);
if (path != null) {
+
Bill Hesse 2014/09/08 15:31:20 Stray newline?
var file = new File(path.toNativePath());
file.exists().then((exists) {
if (exists) {
@@ -287,7 +298,7 @@
var packagesIndex = pathSegments.indexOf(packagesDirName);
if (packagesIndex != -1) {
var start = packagesIndex + 1;
- basePath = _buildDirectory.append(packagesDirName);
+ basePath = _packageRoot;
relativePath = new Path(pathSegments.skip(start).join('/'));
}
if (basePath != null && relativePath != null) {

Powered by Google App Engine
This is Rietveld 408576698