gst-atom-xcuitest-driver
Version:
ATOM driver for iOS using XCUITest for backend
88 lines (65 loc) • 8.69 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.IOSCrashLog = void 0;
require("source-map-support/register");
var _gstAtomIosDriver = require("gst-atom-ios-driver");
var _appiumSupport = require("appium-support");
var _bluebird = _interopRequireDefault(require("bluebird"));
var _logger = _interopRequireDefault(require("../logger"));
var _gstAtomIosDevice = require("gst-atom-ios-device");
var _path = _interopRequireDefault(require("path"));
class IOSCrashLog extends _gstAtomIosDriver.IOSCrashLog {
constructor(opts = {}) {
super(opts.udid ? _path.default.resolve(process.env.HOME, 'Library', 'Logs', 'CrashReporter', 'MobileDevice') : _path.default.resolve(process.env.HOME, 'Library', 'Logs', 'DiagnosticReports'));
this.udid = opts.udid;
this.phoneName = null;
this.sim = opts.sim;
this.usbmuxdRemoteHost = opts.usbmuxdRemoteHost;
this.usbmuxdRemotePort = opts.usbmuxdRemotePort;
}
async getCrashes() {
let crashLogsRoot = this.logDir;
if (this.udid) {
var options = {
udid: this.udid,
usbmuxdRemoteHost: usbmuxdRemoteHost,
usbmuxdRemotePort: usbmuxdRemotePort
};
this.phoneName = this.phoneName || (await _gstAtomIosDevice.utilities.getDeviceName(null, options));
crashLogsRoot = _path.default.resolve(crashLogsRoot, this.phoneName);
}
if (!(await _appiumSupport.fs.exists(crashLogsRoot))) {
_logger.default.debug(`Crash reports root '${crashLogsRoot}' does not exist. Got nothing to gather.`);
return [];
}
const foundFiles = await _appiumSupport.fs.glob(`${crashLogsRoot}/**/*.crash`);
if (this.udid) {
return foundFiles;
}
return await _bluebird.default.filter(foundFiles, async x => {
try {
const content = await _appiumSupport.fs.readFile(x, 'utf8');
return content.toUpperCase().includes(this.sim.udid.toUpperCase());
} catch (err) {
return false;
}
});
}
async filesToJSON(paths) {
return await _bluebird.default.map(paths, async fullPath => {
const stat = await _appiumSupport.fs.stat(fullPath);
return {
timestamp: stat.ctime.getTime(),
level: 'ALL',
message: await _appiumSupport.fs.readFile(fullPath, 'utf8')
};
});
}
}
exports.IOSCrashLog = IOSCrashLog;
var _default = IOSCrashLog;
exports.default = _default;require('source-map-support').install();
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9kZXZpY2UtbG9nL2lvcy1jcmFzaC1sb2cuanMiXSwibmFtZXMiOlsiSU9TQ3Jhc2hMb2ciLCJJT1NEcml2ZXJJT1NDcmFzaExvZyIsImNvbnN0cnVjdG9yIiwib3B0cyIsInVkaWQiLCJwYXRoIiwicmVzb2x2ZSIsInByb2Nlc3MiLCJlbnYiLCJIT01FIiwicGhvbmVOYW1lIiwic2ltIiwidXNibXV4ZFJlbW90ZUhvc3QiLCJ1c2JtdXhkUmVtb3RlUG9ydCIsImdldENyYXNoZXMiLCJjcmFzaExvZ3NSb290IiwibG9nRGlyIiwib3B0aW9ucyIsInV0aWxpdGllcyIsImdldERldmljZU5hbWUiLCJmcyIsImV4aXN0cyIsImxvZyIsImRlYnVnIiwiZm91bmRGaWxlcyIsImdsb2IiLCJCIiwiZmlsdGVyIiwieCIsImNvbnRlbnQiLCJyZWFkRmlsZSIsInRvVXBwZXJDYXNlIiwiaW5jbHVkZXMiLCJlcnIiLCJmaWxlc1RvSlNPTiIsInBhdGhzIiwibWFwIiwiZnVsbFBhdGgiLCJzdGF0IiwidGltZXN0YW1wIiwiY3RpbWUiLCJnZXRUaW1lIiwibGV2ZWwiLCJtZXNzYWdlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLE1BQU1BLFdBQU4sU0FBMEJDLDZCQUExQixDQUErQztBQUM3Q0MsRUFBQUEsV0FBVyxDQUFFQyxJQUFJLEdBQUcsRUFBVCxFQUFhO0FBQ3RCLFVBQU1BLElBQUksQ0FBQ0MsSUFBTCxHQUNKQyxjQUFLQyxPQUFMLENBQWFDLE9BQU8sQ0FBQ0MsR0FBUixDQUFZQyxJQUF6QixFQUErQixTQUEvQixFQUEwQyxNQUExQyxFQUFrRCxlQUFsRCxFQUFtRSxjQUFuRSxDQURJLEdBRUpKLGNBQUtDLE9BQUwsQ0FBYUMsT0FBTyxDQUFDQyxHQUFSLENBQVlDLElBQXpCLEVBQStCLFNBQS9CLEVBQTBDLE1BQTFDLEVBQWtELG1CQUFsRCxDQUZGO0FBR0EsU0FBS0wsSUFBTCxHQUFZRCxJQUFJLENBQUNDLElBQWpCO0FBQ0EsU0FBS00sU0FBTCxHQUFpQixJQUFqQjtBQUNBLFNBQUtDLEdBQUwsR0FBV1IsSUFBSSxDQUFDUSxHQUFoQjtBQUNBLFNBQUtDLGlCQUFMLEdBQXlCVCxJQUFJLENBQUNTLGlCQUE5QjtBQUNBLFNBQUtDLGlCQUFMLEdBQXlCVixJQUFJLENBQUNVLGlCQUE5QjtBQUNEOztBQUVELFFBQU1DLFVBQU4sR0FBb0I7QUFDbEIsUUFBSUMsYUFBYSxHQUFHLEtBQUtDLE1BQXpCOztBQUNBLFFBQUksS0FBS1osSUFBVCxFQUFlO0FBQ2IsVUFBSWEsT0FBTyxHQUFHO0FBQ1piLFFBQUFBLElBQUksRUFBRSxLQUFLQSxJQURDO0FBRVpRLFFBQUFBLGlCQUFpQixFQUFFQSxpQkFGUDtBQUdaQyxRQUFBQSxpQkFBaUIsRUFBRUE7QUFIUCxPQUFkO0FBS0EsV0FBS0gsU0FBTCxHQUFpQixLQUFLQSxTQUFMLEtBQWtCLE1BQU1RLDRCQUFVQyxhQUFWLENBQXdCLElBQXhCLEVBQThCRixPQUE5QixDQUF4QixDQUFqQjtBQUNBRixNQUFBQSxhQUFhLEdBQUdWLGNBQUtDLE9BQUwsQ0FBYVMsYUFBYixFQUE0QixLQUFLTCxTQUFqQyxDQUFoQjtBQUNEOztBQUNELFFBQUksRUFBQyxNQUFNVSxrQkFBR0MsTUFBSCxDQUFVTixhQUFWLENBQVAsQ0FBSixFQUFxQztBQUNuQ08sc0JBQUlDLEtBQUosQ0FBVyx1QkFBc0JSLGFBQWMsMENBQS9DOztBQUNBLGFBQU8sRUFBUDtBQUNEOztBQUNELFVBQU1TLFVBQVUsR0FBRyxNQUFNSixrQkFBR0ssSUFBSCxDQUFTLEdBQUVWLGFBQWMsYUFBekIsQ0FBekI7O0FBQ0EsUUFBSSxLQUFLWCxJQUFULEVBQWU7QUFDYixhQUFPb0IsVUFBUDtBQUNEOztBQUVELFdBQU8sTUFBTUUsa0JBQUVDLE1BQUYsQ0FBU0gsVUFBVCxFQUFxQixNQUFPSSxDQUFQLElBQWE7QUFDN0MsVUFBSTtBQUNGLGNBQU1DLE9BQU8sR0FBRyxNQUFNVCxrQkFBR1UsUUFBSCxDQUFZRixDQUFaLEVBQWUsTUFBZixDQUF0QjtBQUNBLGVBQU9DLE9BQU8sQ0FBQ0UsV0FBUixHQUFzQkMsUUFBdEIsQ0FBK0IsS0FBS3JCLEdBQUwsQ0FBU1AsSUFBVCxDQUFjMkIsV0FBZCxFQUEvQixDQUFQO0FBQ0QsT0FIRCxDQUdFLE9BQU9FLEdBQVAsRUFBWTtBQUNaLGVBQU8sS0FBUDtBQUNEO0FBQ0YsS0FQWSxDQUFiO0FBUUQ7O0FBRUQsUUFBTUMsV0FBTixDQUFtQkMsS0FBbkIsRUFBMEI7QUFDeEIsV0FBTyxNQUFNVCxrQkFBRVUsR0FBRixDQUFNRCxLQUFOLEVBQWEsTUFBT0UsUUFBUCxJQUFvQjtBQUM1QyxZQUFNQyxJQUFJLEdBQUcsTUFBTWxCLGtCQUFHa0IsSUFBSCxDQUFRRCxRQUFSLENBQW5CO0FBQ0EsYUFBTztBQUNMRSxRQUFBQSxTQUFTLEVBQUVELElBQUksQ0FBQ0UsS0FBTCxDQUFXQyxPQUFYLEVBRE47QUFFTEMsUUFBQUEsS0FBSyxFQUFFLEtBRkY7QUFHTEMsUUFBQUEsT0FBTyxFQUFFLE1BQU12QixrQkFBR1UsUUFBSCxDQUFZTyxRQUFaLEVBQXNCLE1BQXRCO0FBSFYsT0FBUDtBQUtELEtBUFksQ0FBYjtBQVFEOztBQW5ENEM7OztlQXVEaENyQyxXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSU9TQ3Jhc2hMb2cgYXMgSU9TRHJpdmVySU9TQ3Jhc2hMb2cgfSBmcm9tICdnc3QtYXRvbS1pb3MtZHJpdmVyJztcbmltcG9ydCB7IGZzIH0gZnJvbSAnYXBwaXVtLXN1cHBvcnQnO1xuaW1wb3J0IEIgZnJvbSAnYmx1ZWJpcmQnO1xuaW1wb3J0IGxvZyBmcm9tICcuLi9sb2dnZXInO1xuaW1wb3J0IHsgdXRpbGl0aWVzIH0gZnJvbSAnZ3N0LWF0b20taW9zLWRldmljZSc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcblxuY2xhc3MgSU9TQ3Jhc2hMb2cgZXh0ZW5kcyBJT1NEcml2ZXJJT1NDcmFzaExvZyB7XG4gIGNvbnN0cnVjdG9yIChvcHRzID0ge30pIHtcbiAgICBzdXBlcihvcHRzLnVkaWQgP1xuICAgICAgcGF0aC5yZXNvbHZlKHByb2Nlc3MuZW52LkhPTUUsICdMaWJyYXJ5JywgJ0xvZ3MnLCAnQ3Jhc2hSZXBvcnRlcicsICdNb2JpbGVEZXZpY2UnKSA6XG4gICAgICBwYXRoLnJlc29sdmUocHJvY2Vzcy5lbnYuSE9NRSwgJ0xpYnJhcnknLCAnTG9ncycsICdEaWFnbm9zdGljUmVwb3J0cycpKTtcbiAgICB0aGlzLnVkaWQgPSBvcHRzLnVkaWQ7XG4gICAgdGhpcy5waG9uZU5hbWUgPSBudWxsO1xuICAgIHRoaXMuc2ltID0gb3B0cy5zaW07XG4gICAgdGhpcy51c2JtdXhkUmVtb3RlSG9zdCA9IG9wdHMudXNibXV4ZFJlbW90ZUhvc3Q7XG4gICAgdGhpcy51c2JtdXhkUmVtb3RlUG9ydCA9IG9wdHMudXNibXV4ZFJlbW90ZVBvcnQ7XG4gIH1cblxuICBhc3luYyBnZXRDcmFzaGVzICgpIHtcbiAgICBsZXQgY3Jhc2hMb2dzUm9vdCA9IHRoaXMubG9nRGlyO1xuICAgIGlmICh0aGlzLnVkaWQpIHtcbiAgICAgIHZhciBvcHRpb25zID0ge1xuICAgICAgICB1ZGlkOiB0aGlzLnVkaWQsXG4gICAgICAgIHVzYm11eGRSZW1vdGVIb3N0OiB1c2JtdXhkUmVtb3RlSG9zdCxcbiAgICAgICAgdXNibXV4ZFJlbW90ZVBvcnQ6IHVzYm11eGRSZW1vdGVQb3J0XG4gICAgICB9O1xuICAgICAgdGhpcy5waG9uZU5hbWUgPSB0aGlzLnBob25lTmFtZSB8fCBhd2FpdCB1dGlsaXRpZXMuZ2V0RGV2aWNlTmFtZShudWxsLCBvcHRpb25zKTtcbiAgICAgIGNyYXNoTG9nc1Jvb3QgPSBwYXRoLnJlc29sdmUoY3Jhc2hMb2dzUm9vdCwgdGhpcy5waG9uZU5hbWUpO1xuICAgIH1cbiAgICBpZiAoIWF3YWl0IGZzLmV4aXN0cyhjcmFzaExvZ3NSb290KSkge1xuICAgICAgbG9nLmRlYnVnKGBDcmFzaCByZXBvcnRzIHJvb3QgJyR7Y3Jhc2hMb2dzUm9vdH0nIGRvZXMgbm90IGV4aXN0LiBHb3Qgbm90aGluZyB0byBnYXRoZXIuYCk7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGNvbnN0IGZvdW5kRmlsZXMgPSBhd2FpdCBmcy5nbG9iKGAke2NyYXNoTG9nc1Jvb3R9LyoqLyouY3Jhc2hgKTtcbiAgICBpZiAodGhpcy51ZGlkKSB7XG4gICAgICByZXR1cm4gZm91bmRGaWxlcztcbiAgICB9XG4gICAgLy8gRm9yIFNpbXVsYXRvciBvbmx5IGluY2x1ZGUgZmlsZXMsIHRoYXQgY29udGFpbiBjdXJyZW50IFVESURcbiAgICByZXR1cm4gYXdhaXQgQi5maWx0ZXIoZm91bmRGaWxlcywgYXN5bmMgKHgpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCBmcy5yZWFkRmlsZSh4LCAndXRmOCcpO1xuICAgICAgICByZXR1cm4gY29udGVudC50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuc2ltLnVkaWQudG9VcHBlckNhc2UoKSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgZmlsZXNUb0pTT04gKHBhdGhzKSB7XG4gICAgcmV0dXJuIGF3YWl0IEIubWFwKHBhdGhzLCBhc3luYyAoZnVsbFBhdGgpID0+IHtcbiAgICAgIGNvbnN0IHN0YXQgPSBhd2FpdCBmcy5zdGF0KGZ1bGxQYXRoKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRpbWVzdGFtcDogc3RhdC5jdGltZS5nZXRUaW1lKCksXG4gICAgICAgIGxldmVsOiAnQUxMJyxcbiAgICAgICAgbWVzc2FnZTogYXdhaXQgZnMucmVhZEZpbGUoZnVsbFBhdGgsICd1dGY4JylcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IHsgSU9TQ3Jhc2hMb2cgfTtcbmV4cG9ydCBkZWZhdWx0IElPU0NyYXNoTG9nO1xuIl0sImZpbGUiOiJsaWIvZGV2aWNlLWxvZy9pb3MtY3Jhc2gtbG9nLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uIn0=