1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /*---------------------------------------------------------------------------------------------
- * Copyright (c) Microsoft Corporation. All rights reserved.
- * Licensed under the MIT License. See License.txt in the project root for license information.
- *--------------------------------------------------------------------------------------------*/
- const yaserver = require('yaserver');
- const http = require('http');
- const cp = require('child_process');
- const PORT = 8563;
- yaserver.createServer({
- rootDir: __dirname
- }).then((staticServer) => {
- const server = http.createServer((request, response) => {
- return staticServer.handle(request, response);
- });
- server.listen(PORT, '127.0.0.1', () => {
- runTests().then(() => {
- console.log(`All good`);
- process.exit(0);
- }, (err) => {
- console.error(err);
- process.exit(1);
- });
- });
- });
- function runTests() {
- return (
- runTest('chromium')
- .then(() => runTest('firefox'))
- // .then(() => runTest('webkit'))
- );
- }
- function runTest(browser) {
- return new Promise((resolve, reject) => {
- const proc = cp.spawn('node', ['../../node_modules/mocha/bin/mocha', 'out/*.test.js', '--headless'], {
- env: { BROWSER: browser, ...process.env },
- stdio: 'inherit'
- });
- proc.on('error', reject);
- proc.on('exit', (code) => {
- if (code === 0) {
- resolve();
- } else {
- reject(code);
- }
- });
- });
- }
|