From 87999d028880dfccca349c9c44f9e66a613c4d38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Ma=C5=82ecki?= Date: Fri, 28 Oct 2011 11:47:14 +0200 Subject: [PATCH] [test] Add basic test runner --- test/core/run | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100755 test/core/run diff --git a/test/core/run b/test/core/run new file mode 100755 index 000000000..d0165894e --- /dev/null +++ b/test/core/run @@ -0,0 +1,57 @@ +#!/usr/bin/env node +/* + run.js: test runner for core tests + + Copyright (c) 2010 Charlie Robbins, Mikeal Rogers, Marak Squires, Fedor Indutny + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +*/ + +// +// Basic idea behind core test runner is to modify core tests as little as +// possible. That's why we start up node-http-proxy here instead of embeeding +// this code in tests. +// +// In most cases only modification to core tests you'll need is changing port +// of http client to common.PROXY_PORT. +// + +var path = require('path'), + httpProxy = require('../../'), + common = require('./common'); + +var test = process.argv[2]; + +if (!test) { + return console.error('Need test to run'); +} + +console.log('Running test ' + test); + +var proxy = httpProxy.createServer(common.PORT, 'localhost'); +proxy.listen(common.PROXY_PORT); + +proxy.on('listening', function () { + require(path.join(process.cwd(), process.argv[2])); +}); + +// vim:filetype=javascript +