Dive into secure and efficient coding practices with our curated list of the top 10 examples showcasing 'logger' in functional components in JavaScript. Our advanced machine learning engine meticulously scans each line of code, cross-referencing millions of open source libraries to ensure your implementation is not just functional, but also robust and secure. Elevate your React applications to new heights by mastering the art of handling side effects, API calls, and asynchronous operations with confidence and precision.
// Nuke any non-webdriver scripts for now. Regular WPT
// scripts would have been pre-processed when the task was
// initially parsed.
script = undefined;
}
url = url.trim();
if (!((/^https?:\/\//i).test(url))) {
url = 'http://' + url;
}
} catch (e) {
job.testError = e.message;
this.abortJob_(job);
return;
}
logger.info('%s run %d%s/%d of job %s',
(job.retryError ? 'Retrying' : 'Starting'), job.runNumber,
(job.isFirstViewOnly ? '' : (job.isCacheWarm ? 'b' : 'a')),
job.runs, job.id);
if (this.wdServer_ && !job.isCacheWarm) {
if (!job.retryError) {
throw new Error('Internal error: unclean non-retry first view');
}
logger.debug('Cleaning before repeat first-view');
this.scheduleCleanup_(job, /*isEndOfJob=*/false);
}
this.scheduleCleanRunTempDir_();
if (this.isTrafficShaping_(job)) {
this.startTrafficShaper_(job); // Start shaping.
} else {
function(stdout) {
var resolvedPath = stdout.trim(); // remove newline.
if (!resolvedPath) {
return tryRemainingPaths(pathsToTry);
}
logger.debug('Found storage path %s --> %s', path, resolvedPath);
// Return the resolved path (e.g. '/sdcard' not '$EXTERNAL_STORAGE'),
// so the caller can `adb push/pull` files to the absolute path.
this.storagePath_ = resolvedPath;
return resolvedPath;
}.bind(this));
}.bind(this));
process_utils.scheduleGetAll(this.app_).then(function(processInfos) {
var pid = process.pid;
var pi; // Declare outside the loop, to avoid a jshint warning
while (pid) {
pi = undefined;
for (var i = 0; i < processInfos.length; ++i) {
if (processInfos[i].pid === pid) {
pi = processInfos.splice(i, 1)[0];
logger.debug('Not killing user %s pid=%s: %s %s', process.env.USER,
pid, pi.command, pi.args.join(' '));
break;
}
}
pid = (pi ? pi.ppid : undefined);
}
if (processInfos.length > 0) {
logger.info('Killing %s pids owned by user %s: %s', processInfos.length,
process.env.USER,
processInfos.map(function(pi) { return pi.pid; }).join(', '));
process_utils.scheduleKillAll(
this.app_, 'Kill dangling pids', processInfos);
}
}.bind(this), function(e) {
logger.error('Unable to killall pids: ' + e.message);
return app.schedule(cmd, function() {
logger.debug('Exec with timeout(%d): %s', timeout, cmd);
// Create output buffers
var stdout = '';
var stderr = '';
function newMsg(desc, code, signal) {
function crop(s, n) {
return (s.length <= n ? s : s.substring(0, n - 3) + '...');
}
var ret = [desc, code && 'code ' + code, signal && 'signal ' + signal,
stdout && 'stdout[' + stdout.length + '] ' + crop(stdout, 1024),
stderr && 'stderr[' + stderr.length + '] ' + crop(stderr, 1024)];
// Comma-separated elements of ret, except the undefined ones.
return ret.filter(function(v) { return !!v; }).join(', ');
}
function newError(desc, code, signal) {
var ret = new Error(newMsg(desc, code, signal));
var pid = process.pid;
var pi; // Declare outside the loop, to avoid a jshint warning
while (pid) {
pi = undefined;
for (var i = 0; i < processInfos.length; ++i) {
if (processInfos[i].pid === pid) {
pi = processInfos.splice(i, 1)[0];
logger.debug('Not killing user %s pid=%s: %s %s', process.env.USER,
pid, pi.command, pi.args.join(' '));
break;
}
}
pid = (pi ? pi.ppid : undefined);
}
if (processInfos.length > 0) {
logger.info('Killing %s pids owned by user %s: %s', processInfos.length,
process.env.USER,
processInfos.map(function(pi) { return pi.pid; }).join(', '));
process_utils.scheduleKillAll(
this.app_, 'Kill dangling pids', processInfos);
}
}.bind(this), function(e) {
logger.error('Unable to killall pids: ' + e.message);
var timerId = global.setTimeout(function() {
timerId = undefined; // Reset it before the close listener gets called.
try {
proc.kill();
} catch (e) {
logger.error('Error killing %s: %s', cmd, e);
}
// The kill() call normally triggers the close listener, but we reject
// the promise here instead of the close listener, because we don't really
// know if and when it's going to be killed at OS level.
// In the future we may want to restart the adb server here as a recovery
// for wedged adb connections, or use a relay board for device recovery.
done.reject(
newError(cmd + ' timeout after ' + (timeout / 1000) + ' seconds'));
}, timeout);
process.on('unhandledRejection', (reason, p) => {
logger.error('Possibly Unhandled Rejection at: Promise ', p, ' reason: ', reason);
// application specific logging here
});
proc.on('exit', function(code, signal) {
logger.info(name + ' EXIT code %s signal %s', code, signal);
this.childProcess_ = undefined;
this.onChildProcessExit();
}.bind(this));
}.bind(this));
exports.process.on('message', function(message) {
var cmd = (message ? message.cmd : '');
if ('run' === cmd) {
this.init(message);
this.connect();
} else if ('abort' === cmd) {
this.agentErrror_ = this.agentError_ || (new Error('abort'));
this.done_();
} else {
logger.error('Unrecognized IPC command %s, message: %j', cmd, message);
}
}.bind(this));
};
WebDriverServer.prototype.saveScreenshot_ = function(
fileName, screenshot, description) {
'use strict';
logger.debug('Saving screenshot %s (%d bytes): %s',
fileName, screenshot.length, description);
var diskPath = path.join(this.runTempDir_, fileName);
return process_utils.scheduleFunction(this.app_,
'Write screenshot file ' + diskPath,
fs.writeFile, diskPath, screenshot).then(function() {
return this.addScreenshot_(fileName, diskPath, description);
}.bind(this));
};