tenfourfox/b2g/components/test/unit/test_logshake_gonk.js
Cameron Kaiser c9b2922b70 hello FPR
2017-04-19 00:56:45 -07:00

62 lines
1.4 KiB
JavaScript

/**
* Test the log capturing capabilities of LogShake.jsm, checking
* for Gonk-specific parts
*/
/* jshint moz: true, esnext: true */
/* global Cu, LogCapture, LogShake, ok, add_test, run_next_test, dump,
setup_logshake_mocks, OS, sdcard */
/* exported run_test */
/* disable use strict warning */
/* jshint -W097 */
"use strict";
Cu.import("resource://gre/modules/Promise.jsm");
function run_test() {
Cu.import("resource://gre/modules/LogShake.jsm");
run_next_test();
}
add_test(setup_logshake_mocks);
add_test(function test_logShake_captureLogs_writes() {
// Enable LogShake
LogShake.init();
let expectedFiles = [];
LogShake.captureLogs().then(logResults => {
LogShake.uninit();
ok(logResults.logFilenames.length > 0, "Should have filenames");
ok(logResults.logPaths.length > 0, "Should have paths");
ok(!logResults.compressed, "Should not be compressed");
logResults.logPaths.forEach(f => {
let p = OS.Path.join(sdcard, f);
ok(p, "Should have a valid result path: " + p);
let t = OS.File.exists(p).then(rv => {
ok(rv, "File exists: " + p);
});
expectedFiles.push(t);
});
Promise.all(expectedFiles).then(() => {
ok(true, "Completed all files checks");
run_next_test();
});
},
error => {
LogShake.uninit();
ok(false, "Should not have received error: " + error);
run_next_test();
});
});