storage/test/unit/test_telemetry_vfs.js

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

michael@0 1 /* Any copyright is dedicated to the Public Domain.
michael@0 2 * http://creativecommons.org/publicdomain/zero/1.0/
michael@0 3 */
michael@0 4
michael@0 5 // Make sure that there are telemetry entries created by sqlite io
michael@0 6
michael@0 7 function run_sql(d, sql) {
michael@0 8 var stmt = d.createStatement(sql)
michael@0 9 stmt.execute()
michael@0 10 stmt.finalize();
michael@0 11 }
michael@0 12
michael@0 13 function new_file(name)
michael@0 14 {
michael@0 15 var file = dirSvc.get("ProfD", Ci.nsIFile);
michael@0 16 file.append(name);
michael@0 17 return file;
michael@0 18 }
michael@0 19 function run_test()
michael@0 20 {
michael@0 21 const Telemetry = Cc["@mozilla.org/base/telemetry;1"].getService(Ci.nsITelemetry);
michael@0 22 let read_hgram = Telemetry.getHistogramById("MOZ_SQLITE_OTHER_READ_B");
michael@0 23 let old_sum = read_hgram.snapshot().sum;
michael@0 24 const file = new_file("telemetry.sqlite");
michael@0 25 var d = getDatabase(file);
michael@0 26 run_sql(d, "CREATE TABLE bloat(data varchar)");
michael@0 27 run_sql(d, "DROP TABLE bloat")
michael@0 28 do_check_true(read_hgram.snapshot().sum > old_sum)
michael@0 29 }
michael@0 30

mercurial