UNPKG

benchpress

Version:

Benchpress - a framework for e2e performance tests

38 lines 5.42 kB
var q = require('q'); var FirefoxProfile = require('firefox-profile'); var jpm = require('jpm/lib/xpi'); var pathUtil = require('path'); var PERF_ADDON_PACKAGE_JSON_DIR = '..'; exports.getAbsolutePath = function (path) { var normalizedPath = pathUtil.normalize(path); if (pathUtil.resolve(normalizedPath) == normalizedPath) { // Already absolute path return normalizedPath; } else { return pathUtil.join(__dirname, normalizedPath); } }; exports.getFirefoxProfile = function (extensionPath) { var deferred = q.defer(); var firefoxProfile = new FirefoxProfile(); firefoxProfile.addExtensions([extensionPath], () => { firefoxProfile.encoded(encodedProfile => { var multiCapabilities = [{ browserName: 'firefox', firefox_profile: encodedProfile }]; deferred.resolve(multiCapabilities); }); }); return deferred.promise; }; exports.getFirefoxProfileWithExtension = function () { var absPackageJsonDir = pathUtil.join(__dirname, PERF_ADDON_PACKAGE_JSON_DIR); var packageJson = require(pathUtil.join(absPackageJsonDir, 'package.json')); var savedCwd = process.cwd(); process.chdir(absPackageJsonDir); return jpm(packageJson) .then(xpiPath => { process.chdir(savedCwd); return exports.getFirefoxProfile(xpiPath); }); }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF9oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkaWZmaW5nX3BsdWdpbl93cmFwcGVyLW91dHB1dF9wYXRoLXhCTElCclZSLnRtcC9iZW5jaHByZXNzL3NyYy9maXJlZm94X2V4dGVuc2lvbi9saWIvdGVzdF9oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3JCLElBQUksY0FBYyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0FBQ2hELElBQUksR0FBRyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUNqQyxJQUFJLFFBQVEsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFL0IsSUFBSSwyQkFBMkIsR0FBRyxJQUFJLENBQUM7QUFFdkMsT0FBTyxDQUFDLGVBQWUsR0FBRyxVQUFTLElBQUk7SUFDckMsSUFBSSxjQUFjLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsd0JBQXdCO1FBQ3hCLE1BQU0sQ0FBQyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ04sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixPQUFPLENBQUMsaUJBQWlCLEdBQUcsVUFBUyxhQUFhO0lBQ2hELElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUV6QixJQUFJLGNBQWMsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO0lBQzFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxhQUFhLENBQUMsRUFBRTtRQUM1QyxjQUFjLENBQUMsT0FBTyxDQUFDLGNBQWM7WUFDbkMsSUFBSSxpQkFBaUIsR0FBRyxDQUFDLEVBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFDLENBQUMsQ0FBQztZQUNwRixRQUFRLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0FBQzFCLENBQUMsQ0FBQztBQUVGLE9BQU8sQ0FBQyw4QkFBOEIsR0FBRztJQUN2QyxJQUFJLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLDJCQUEyQixDQUFDLENBQUM7SUFDOUUsSUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUU1RSxJQUFJLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDN0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRWpDLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDO1NBQ2xCLElBQUksQ0FBQyxPQUFPO1FBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QixNQUFNLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUMsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsidmFyIHEgPSByZXF1aXJlKCdxJyk7XG52YXIgRmlyZWZveFByb2ZpbGUgPSByZXF1aXJlKCdmaXJlZm94LXByb2ZpbGUnKTtcbnZhciBqcG0gPSByZXF1aXJlKCdqcG0vbGliL3hwaScpO1xudmFyIHBhdGhVdGlsID0gcmVxdWlyZSgncGF0aCcpO1xuXG52YXIgUEVSRl9BRERPTl9QQUNLQUdFX0pTT05fRElSID0gJy4uJztcblxuZXhwb3J0cy5nZXRBYnNvbHV0ZVBhdGggPSBmdW5jdGlvbihwYXRoKSB7XG4gIHZhciBub3JtYWxpemVkUGF0aCA9IHBhdGhVdGlsLm5vcm1hbGl6ZShwYXRoKTtcbiAgaWYgKHBhdGhVdGlsLnJlc29sdmUobm9ybWFsaXplZFBhdGgpID09IG5vcm1hbGl6ZWRQYXRoKSB7XG4gICAgLy8gQWxyZWFkeSBhYnNvbHV0ZSBwYXRoXG4gICAgcmV0dXJuIG5vcm1hbGl6ZWRQYXRoO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBwYXRoVXRpbC5qb2luKF9fZGlybmFtZSwgbm9ybWFsaXplZFBhdGgpO1xuICB9XG59O1xuXG5leHBvcnRzLmdldEZpcmVmb3hQcm9maWxlID0gZnVuY3Rpb24oZXh0ZW5zaW9uUGF0aCkge1xuICB2YXIgZGVmZXJyZWQgPSBxLmRlZmVyKCk7XG5cbiAgdmFyIGZpcmVmb3hQcm9maWxlID0gbmV3IEZpcmVmb3hQcm9maWxlKCk7XG4gIGZpcmVmb3hQcm9maWxlLmFkZEV4dGVuc2lvbnMoW2V4dGVuc2lvblBhdGhdLCAoKSA9PiB7XG4gICAgZmlyZWZveFByb2ZpbGUuZW5jb2RlZChlbmNvZGVkUHJvZmlsZSA9PiB7XG4gICAgICB2YXIgbXVsdGlDYXBhYmlsaXRpZXMgPSBbe2Jyb3dzZXJOYW1lOiAnZmlyZWZveCcsIGZpcmVmb3hfcHJvZmlsZTogZW5jb2RlZFByb2ZpbGV9XTtcbiAgICAgIGRlZmVycmVkLnJlc29sdmUobXVsdGlDYXBhYmlsaXRpZXMpO1xuICAgIH0pO1xuICB9KTtcblxuICByZXR1cm4gZGVmZXJyZWQucHJvbWlzZTtcbn07XG5cbmV4cG9ydHMuZ2V0RmlyZWZveFByb2ZpbGVXaXRoRXh0ZW5zaW9uID0gZnVuY3Rpb24oKSB7XG4gIHZhciBhYnNQYWNrYWdlSnNvbkRpciA9IHBhdGhVdGlsLmpvaW4oX19kaXJuYW1lLCBQRVJGX0FERE9OX1BBQ0tBR0VfSlNPTl9ESVIpO1xuICB2YXIgcGFja2FnZUpzb24gPSByZXF1aXJlKHBhdGhVdGlsLmpvaW4oYWJzUGFja2FnZUpzb25EaXIsICdwYWNrYWdlLmpzb24nKSk7XG5cbiAgdmFyIHNhdmVkQ3dkID0gcHJvY2Vzcy5jd2QoKTtcbiAgcHJvY2Vzcy5jaGRpcihhYnNQYWNrYWdlSnNvbkRpcik7XG5cbiAgcmV0dXJuIGpwbShwYWNrYWdlSnNvbilcbiAgICAgIC50aGVuKHhwaVBhdGggPT4ge1xuICAgICAgICBwcm9jZXNzLmNoZGlyKHNhdmVkQ3dkKTtcbiAgICAgICAgcmV0dXJuIGV4cG9ydHMuZ2V0RmlyZWZveFByb2ZpbGUoeHBpUGF0aCk7XG4gICAgICB9KTtcbn07XG4iXX0=