tasks/datadriver.js
function(result) {
                var callback = arguments[arguments.length - 1];

                if (isLastTask && isSauceTunnelRunning) {
                    grunt.log.debug('destroy sauce tunnel if connected (once all tasks were executed)');
                    return tunnel.stop(next(callback, result));
                } else if (isLastTask && seleniumServer) {
                    grunt.log.debug('kill selenium server');
                    seleniumServer.kill();
                }

                callback(null, result);
            }
function(result) {
                var callback = arguments[arguments.length - 1];

                if (isLastTask && isSauceTunnelRunning) {
                    grunt.log.debug('destroy sauce tunnel if connected (once all tasks were executed)');
                    return tunnel.stop(next(callback, result));
                } else if (isLastTask && seleniumServer) {
                    grunt.log.debug('kill selenium server');
                    seleniumServer.kill();
                }

                callback(null, result);
            }
function ( result ) { var callback = arguments [ arguments . length - 1 ] ; if ( isLastTask && isSauceTunnelRunning ) { grunt . log . debug ( 'destroy sauce tunnel if connected (once all tasks were executed)' ) ; return tunnel . stop ( next ( callback , result ) ) ; } else if ( isLastTask && seleniumServer ) { grunt . log . debug ( 'kill selenium server' ) ; seleniumServer . kill ( ) ; } callback ( null , result ) ; }
destroy sauce tunnel if connected (once all tasks were executed) or
kill selenium server process if created
destroy sauce tunnel if connected ( once all tasks were executed ) or kill selenium server process if created