summaryrefslogtreecommitdiffstats
path: root/b2g/components/test/unit/test_logcapture_gonk.js
blob: d80f33dd9ad017e0193a02fa4dfc20c8f340ccf1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */


/**
 * Test that LogCapture successfully reads from the /dev/log devices, returning
 * a Uint8Array of some length, including zero. This tests a few standard
 * log devices
 */
function run_test() {
  Components.utils.import("resource:///modules/LogCapture.jsm");
  run_next_test();
}

function verifyLog(log) {
  // log exists
  notEqual(log, null);
  // log has a length and it is non-negative (is probably array-like)
  ok(log.length >= 0);
}

add_test(function test_readLogFile() {
  let mainLog = LogCapture.readLogFile("/dev/log/main");
  verifyLog(mainLog);

  let meminfoLog = LogCapture.readLogFile("/proc/meminfo");
  verifyLog(meminfoLog);

  run_next_test();
});

add_test(function test_readProperties() {
  let propertiesLog = LogCapture.readProperties();
  notEqual(propertiesLog, null, "Properties should not be null");
  notEqual(propertiesLog, undefined, "Properties should not be undefined");

  for (let propertyName in propertiesLog) {
    equal(typeof(propertiesLog[propertyName]), "string",
          "Property " + propertyName + " should be a string");
  }

  equal(propertiesLog["ro.product.locale.language"], "en",
        "Locale language should be read correctly. See bug 1171577.");

  equal(propertiesLog["ro.product.locale.region"], "US",
        "Locale region should be read correctly. See bug 1171577.");

  run_next_test();
});

add_test(function test_readAppIni() {
  let appIni = LogCapture.readLogFile("/system/b2g/application.ini");
  verifyLog(appIni);

  run_next_test();
});

add_test(function test_get_about_memory() {
  let memLog = LogCapture.readAboutMemory();

  ok(memLog, "Should have returned a valid Promise object");

  memLog.then(file => {
    ok(file, "Should have returned a filename");
    run_next_test();
  }, error => {
    ok(false, "Dumping about:memory promise rejected: " + error);
    run_next_test();
  });
});