in perftest/jscrund.js [89:244]
function parse_command_line(options) {
var i, val, values, pair, m, n;
for(i = 2; i < process.argv.length ; i++) {
val = process.argv[i];
switch (val) {
case '--help':
case '-h':
options.exit = true;
break;
case '-A':
options.doClass = "A";
break;
case '-B':
options.doClass = "B";
break;
case '-n':
options.adapter = "ndb";
break;
case '-m':
options.adapter = "mysql";
break;
case '-f':
options.adapter = "sql";
break;
case '-i':
var iterList = process.argv[++i];
options.iterations = iterList.split('\,');
for(m = 0 ; m < options.iterations.length; ++m) {
n = options.iterations[m]
if (isNaN(n)) {
console.log('iterations value ',n,' is not allowed');
options.exit = true;
}
}
break;
case '-r':
options.nRuns = parseInt(process.argv[++i]);
if (isNaN(options.nRuns)) {
console.log('runs value is not allowed:', process.argv[i]);
options.exit = true;
}
break;
case '-E':
options.deployment = process.argv[++i];
break;
case '--stats':
options.stats = true;
break;
case '--debug':
case '-d':
JSCRUND.unified_debug.on();
JSCRUND.unified_debug.level_debug();
options.printStackTraces = true;
break;
case '--detail':
JSCRUND.unified_debug.on();
JSCRUND.unified_debug.level_detail();
options.printStackTraces = true;
break;
case '--trace':
case '-t':
options.printStackTraces = true;
break;
case '--log':
options.log = true;
break;
case '--spi':
options.spi = true;
break;
case '--set':
i++; // next argument
pair = process.argv[i].split('=');
if(pair.length === 2) {
if(isFinite(parseInt(pair[1]))) {
pair[1] = parseInt(pair[1])
}
if(DEBUG) JSCRUND.udebug.log("Setting global:", pair[0], "=", pair[1]);
options.setProp[pair[0]] = pair[1];
}
else {
console.log("Invalid --set option " + process.argv[i]);
options.exit = true;
}
break;
default:
values = val.split('=');
if (values.length === 2) {
switch (values[0]) {
case '--count':
options.count = values[1];
break;
case '--adapter':
options.adapter = values[1];
break;
case '--mode':
case '--modes':
options.modes = values[1];
options.modeNames = options.modes.split('\,');
// validate mode names
for (m = 0; m < options.modeNames.length; ++m) {
switch (options.modeNames[m]) {
case 'indy':
case 'each':
case 'bulk':
break;
default:
console.log('Invalid mode ' + options.modeNames[m]);
options.exit = true;
}
}
break;
case '--test':
case '--tests':
options.tests = values[1];
options.testNames = options.tests.split('\,');
// validate test names
for (var t = 0; t < options.testNames.length; ++t) {
switch (options.testNames[t]) {
case 'persist':
case 'find':
case 'remove':
case 'setVarchar':
case 'clearVarchar':
break;
default:
console.log('Invalid test ' + options.testNames[t]);
options.exit = true;
}
}
break;
case '-df':
unified_debug.on();
unified_debug.set_file_level(values[1], 5);
break;
case '--delay':
var delays = values[1].split(',');
options.delay_pre = delays[0];
options.delay_post = delays[1];
break;
case '--varchar':
options.B_varchar_size = values[1];
break;
case '--deployment':
options.deployment = values[1];
break;
default:
console.log('Invalid option ' + val);
options.exit = true;
}
} else {
console.log('Invalid option ' + val);
options.exit = true;
}
}
}
}