2014-08-22 01:32:00 -07:00
|
|
|
/* jshint moz: true */
|
|
|
|
|
|
|
|
const {utils: Cu, classes: Cc, interfaces: Ci} = Components;
|
|
|
|
|
2014-11-11 21:31:00 -08:00
|
|
|
function debug(msg) {
|
|
|
|
var timestamp = Date.now();
|
|
|
|
dump("LogParser: " + timestamp + ": " + msg + "\n");
|
|
|
|
}
|
|
|
|
|
2014-08-22 01:32:00 -07:00
|
|
|
function run_test() {
|
2014-11-11 21:31:00 -08:00
|
|
|
Cu.import("resource:///modules/LogParser.jsm");
|
|
|
|
debug("Starting");
|
|
|
|
run_next_test();
|
|
|
|
}
|
2014-08-22 01:32:00 -07:00
|
|
|
|
2014-11-11 21:31:00 -08:00
|
|
|
function makeStream(file) {
|
|
|
|
var fileStream = Cc["@mozilla.org/network/file-input-stream;1"]
|
|
|
|
.createInstance(Ci.nsIFileInputStream);
|
|
|
|
fileStream.init(file, -1, -1, 0);
|
|
|
|
var bis = Cc["@mozilla.org/binaryinputstream;1"]
|
|
|
|
.createInstance(Ci.nsIBinaryInputStream);
|
|
|
|
bis.setInputStream(fileStream);
|
|
|
|
return bis;
|
|
|
|
}
|
|
|
|
|
|
|
|
add_test(function test_parse_logfile() {
|
|
|
|
let loggerFile = do_get_file("data/test_logger_file");
|
2014-08-22 01:32:00 -07:00
|
|
|
|
|
|
|
let loggerStream = makeStream(loggerFile);
|
|
|
|
|
|
|
|
// Initialize arrays to hold the file contents (lengths are hardcoded)
|
|
|
|
let loggerArray = new Uint8Array(loggerStream.readByteArray(4037));
|
|
|
|
|
|
|
|
loggerStream.close();
|
|
|
|
|
|
|
|
let logMessages = LogParser.parseLogArray(loggerArray);
|
|
|
|
|
2014-11-11 21:31:00 -08:00
|
|
|
ok(logMessages.length === 58, "There should be 58 messages in the log");
|
2014-08-22 01:32:00 -07:00
|
|
|
|
|
|
|
let expectedLogEntry = {
|
|
|
|
processId: 271, threadId: 271,
|
|
|
|
seconds: 790796, nanoseconds: 620000001, time: 790796620.000001,
|
2014-11-11 21:31:00 -08:00
|
|
|
priority: 4, tag: "Vold",
|
|
|
|
message: "Vold 2.1 (the revenge) firing up\n"
|
2014-08-22 01:32:00 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
deepEqual(expectedLogEntry, logMessages[0]);
|
2014-11-11 21:31:00 -08:00
|
|
|
run_next_test();
|
|
|
|
});
|
2014-08-22 01:32:00 -07:00
|
|
|
|
2014-11-11 21:31:00 -08:00
|
|
|
add_test(function test_print_properties() {
|
|
|
|
let properties = {
|
|
|
|
"ro.secure": "1",
|
|
|
|
"sys.usb.state": "diag,serial_smd,serial_tty,rmnet_bam,mass_storage,adb"
|
|
|
|
};
|
|
|
|
|
|
|
|
let logMessages = LogParser.prettyPrintPropertiesArray(properties);
|
|
|
|
let logMessagesArray = logMessages.split("\n");
|
|
|
|
|
|
|
|
ok(logMessagesArray.length === 3, "There should be 3 lines in the log.");
|
|
|
|
notEqual(logMessagesArray[0], "", "First line should not be empty");
|
|
|
|
notEqual(logMessagesArray[1], "", "Second line should not be empty");
|
|
|
|
equal(logMessagesArray[2], "", "Last line should be empty");
|
|
|
|
|
|
|
|
let expectedLog = [
|
|
|
|
"[ro.secure]: [1]",
|
|
|
|
"[sys.usb.state]: [diag,serial_smd,serial_tty,rmnet_bam,mass_storage,adb]",
|
|
|
|
""
|
|
|
|
].join("\n");
|
|
|
|
|
|
|
|
deepEqual(expectedLog, logMessages);
|
|
|
|
|
|
|
|
run_next_test();
|
|
|
|
});
|