Skip to content
This repository was archived by the owner on Jul 29, 2024. It is now read-only.

Commit f62ffff

Browse files
committed
resolve comments
1 parent 08d3805 commit f62ffff

File tree

2 files changed

+30
-29
lines changed

2 files changed

+30
-29
lines changed

lib/launcher.ts

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {Runner} from './runner';
1212
import {TaskRunner} from './taskRunner';
1313
import {TaskScheduler} from './taskScheduler';
1414
import * as helper from './util';
15+
import { reject } from 'q';
1516

1617
let logger = new Logger('launcher');
1718
let RUNNERS_FAILED_EXIT_CODE = 100;
@@ -141,7 +142,7 @@ let initFn = async function(configFile: string, additionalConfig: Config) {
141142

142143
// 3) If we're in `elementExplorer` mode, run only that.
143144
if (config.elementExplorer || config.framework === 'explorer') {
144-
if (config.multiCapabilities.length != 1) {
145+
if (config.multiCapabilities.length !== 1) {
145146
throw new Error('Must specify only 1 browser while using elementExplorer');
146147
} else {
147148
config.capabilities = config.multiCapabilities[0];
@@ -195,7 +196,7 @@ let initFn = async function(configFile: string, additionalConfig: Config) {
195196
// Run afterlaunch and exit
196197
const cleanUpAndExit = async (exitCode: number) => {
197198
try {
198-
let returned =
199+
const returned =
199200
await helper.runFilenameOrFn_(config.configDir, config.afterLaunch, [exitCode]);
200201
if (typeof returned === 'number') {
201202
process.exit(returned);
@@ -208,7 +209,7 @@ let initFn = async function(configFile: string, additionalConfig: Config) {
208209
}
209210
};
210211

211-
let totalTasks = scheduler.numTasksOutstanding();
212+
const totalTasks = scheduler.numTasksOutstanding();
212213
let forkProcess = false;
213214
if (totalTasks > 1) { // Start new processes only if there are >1 tasks.
214215
forkProcess = true;
@@ -219,35 +220,35 @@ let initFn = async function(configFile: string, additionalConfig: Config) {
219220
}
220221

221222
const createNextTaskRunner = async () => {
222-
return new Promise(resolve => {
223-
let task = scheduler.nextTask();
223+
return new Promise(async (resolve) => {
224+
const task = scheduler.nextTask();
224225
if (task) {
225-
let taskRunner = new TaskRunner(configFile, additionalConfig, task, forkProcess);
226-
taskRunner.run()
227-
.then(async (result) => {
228-
if (result.exitCode && !result.failedCount) {
229-
logger.error(
230-
'Runner process exited unexpectedly with error code: ' + result.exitCode);
231-
}
232-
taskResults_.add(result);
233-
task.done();
234-
createNextTaskRunner();
235-
// If all tasks are finished
236-
if (scheduler.numTasksOutstanding() === 0) {
237-
resolve();
238-
}
239-
logger.info(scheduler.countActiveTasks() + ' instance(s) of WebDriver still running');
240-
})
241-
.catch(async (err: Error) => {
242-
const errorCode = ErrorHandler.parseError(err);
243-
logger.error('Error:', (err as any).stack || err.message || err);
244-
await cleanUpAndExit(errorCode ? errorCode : RUNNERS_FAILED_EXIT_CODE);
245-
});
226+
const taskRunner = new TaskRunner(configFile, additionalConfig, task, forkProcess);
227+
try {
228+
const result = await taskRunner.run();
229+
if (result.exitCode && !result.failedCount) {
230+
logger.error(
231+
'Runner process exited unexpectedly with error code: ' + result.exitCode);
232+
}
233+
taskResults_.add(result);
234+
task.done();
235+
createNextTaskRunner();
236+
// If all tasks are finished
237+
if (scheduler.numTasksOutstanding() === 0) {
238+
resolve();
239+
}
240+
logger.info(scheduler.countActiveTasks() + ' instance(s) of WebDriver still running');
241+
} catch (err) {
242+
const errorCode = ErrorHandler.parseError(err);
243+
logger.error('Error:', (err as any).stack || err.message || err);
244+
await cleanUpAndExit(errorCode ? errorCode : RUNNERS_FAILED_EXIT_CODE);
245+
}
246246
}
247247
});
248248
};
249249

250-
for (let i = 0; i < scheduler.maxConcurrentTasks(); ++i) {
250+
const maxConcurrentTasks = scheduler.maxConcurrentTasks();
251+
for (let i = 0; i < maxConcurrentTasks; ++i) {
251252
await createNextTaskRunner();
252253
}
253254
logger.info('Running ' + scheduler.countActiveTasks() + ' instances of WebDriver');

lib/runner.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ export class Runner extends EventEmitter {
144144
* @param {int} Standard unix exit code
145145
*/
146146
async exit_(exitCode: number): Promise<number> {
147-
let returned =
147+
const returned =
148148
await helper.runFilenameOrFn_(this.config_.configDir, this.config_.onCleanUp, [exitCode]);
149149
if (typeof returned === 'number') {
150150
return returned;
@@ -366,7 +366,7 @@ export class Runner extends EventEmitter {
366366
browser_ = this.createBrowser(plugins);
367367
this.setupGlobals_(browser_);
368368
try {
369-
let session = await browser_.ready.then(browser_.getSession);
369+
const session = await browser_.ready.then(browser_.getSession);
370370
logger.debug(
371371
'WebDriver session successfully started with capabilities ' +
372372
util.inspect(session.getCapabilities()));

0 commit comments

Comments
 (0)