testarmada-magellan
Version:
Massively parallel automated testing
39 lines (29 loc) • 891 B
JavaScript
;
var _ = require("lodash");
var settings = require("./settings");
module.exports = {
// Detect and return filters specified by command line arguments
// from an argv object args
detectFromCLI: function (args) {
var filters = {};
_.keys(settings.testFramework.filters).forEach(function (f) {
if (args[f]) {
filters[f] = args[f];
}
});
return filters;
},
// Successively reduce files to a smaller set of files by
// running a list of filters on the list repeatedly
filter: function (files, filters) {
var allFiles = files;
_.forEach(filters, function (n, k) {
if (settings.testFramework.filters[k]) {
// if we have this filter predefined in settings.js
// do filter here
allFiles = settings.testFramework.filters[k](allFiles, filters[k]);
}
});
return allFiles;
}
};