var args = require('yargs').argv;
-var chalk = require('chalk');
-var wct = require('web-component-tester').test;
var _ = require('lodash');
var gutil = require('gulp-util');
var config = require('./config');
-function cleanDone(done) {
- return function(error) {
- if (error) {
- // Pretty error for gulp.
- error = new Error(chalk.red(error.message || error));
- error.showStack = false;
- }
- done(error);
- };
-}
-
function checkArguments(arguments) {
_.forEach(arguments, function(a) {
if(!args.hasOwnProperty(a)) {
});
}
-function localAddress() {
- var ip, tun, ifaces = require('os').networkInterfaces();
- Object.keys(ifaces).forEach(function (ifname) {
- ifaces[ifname].forEach(function (iface) {
- if ('IPv4' == iface.family && !iface.internal) {
- if (!ip) ip = iface.address;
- if (/tun/.test(ifname)) tun = iface.address;
- }
- });
- });
- return tun || ip;
-}
-
-function test(options, done) {
- wct(options, cleanDone(done));
-}
-
function ssh(user, host, command, done) {
gutil.log('SSH: ' + host + ' -> ' + command);
require('node-ssh-exec')({
}
module.exports = {
- localAddress: localAddress,
- test: test,
ssh: ssh,
- checkArguments: checkArguments,
-
- testSauce: function(suites, browsers, build, done) {
- test(
- {
- suites: suites,
- browserOptions: {
- name: localAddress() + ' / ' + new Date(),
- build: build
- },
-
- plugins: {
- //local: {
- // browsers: ['chrome']
- //},
- sauce: {
- username: args.sauceUsername,
- accessKey: args.sauceAccessKey,
- browsers: browsers
- },
- 'teamcity-reporter': args.teamcity
- },
- webserver: {
- hostname: localAddress()
- }
- }, done);
- },
-
- autoRevert: function(err, handler, done) {
- if(err) {
- gutil.log(err.toString());
- if(args.autoRevert) {
- handler();
- } else {
- gutil.log('No action. Use --auto-revert to revert changes.')
- done(err);
- }
- } else {
- done();
- }
- }
+ checkArguments: checkArguments
};