Bug 730862 - Fix for signmar tests on linux and OS X. r=rstrong

This commit is contained in:
Brian R. Bondy 2012-04-12 19:07:03 -04:00
Родитель c596f946fd
Коммит ba7bd62a9a
15 изменённых файлов: 21 добавлений и 9 удалений

Двоичные данные
modules/libmar/tests/unit/data/0_sized_mar.mar

Двоичный файл не отображается.

Двоичные данные
modules/libmar/tests/unit/data/1_byte_mar.mar

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичные данные
modules/libmar/tests/unit/data/no_pib_mar.mar

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичные данные
modules/libmar/tests/unit/data/win_0_sized_mar.mar Normal file

Двоичный файл не отображается.

Двоичные данные
modules/libmar/tests/unit/data/win_1_byte_mar.mar Normal file

Двоичный файл не отображается.

Двоичные данные
modules/libmar/tests/unit/data/win_binary_data_mar.mar Normal file

Двоичный файл не отображается.

Двоичные данные
modules/libmar/tests/unit/data/win_multiple_file_mar.mar Normal file

Двоичный файл не отображается.

Двоичные данные
modules/libmar/tests/unit/data/win_signed_no_pib_mar.mar Normal file

Двоичный файл не отображается.

Двоичные данные
modules/libmar/tests/unit/data/win_signed_pib_mar.mar Normal file

Двоичный файл не отображается.

Просмотреть файл

@ -5,6 +5,13 @@ const BIN_SUFFIX = "@BIN_SUFFIX@";
const Cc = Components.classes;
const Ci = Components.interfaces;
#ifdef XP_WIN
let refMARPrefix = "win_";
#else
let refMARPrefix = "";
#endif
/**
* Compares binary data of 2 arrays and throws if they aren't the same.
* Throws on mismatch, does nothing on match.
@ -16,7 +23,8 @@ function compareBinaryData(arr1, arr2) {
do_check_eq(arr1.length, arr2.length);
for (let i = 0; i < arr1.length; i++) {
if (arr1[i] != arr2[i]) {
throw "Data differs at index " + i;
throw "Data differs at index " + i +
", arr1: " + arr1[i] + ", arr2: " + arr2[i];
}
}
}

Просмотреть файл

@ -37,19 +37,20 @@ function run_test() {
let tests = {
// Test creating a MAR file with a 0 byte file.
test_zero_sized: function() {
return run_one_test("0_sized_mar.mar", ["0_sized_file"]);
return run_one_test(refMARPrefix + "0_sized_mar.mar", ["0_sized_file"]);
},
// Test creating a MAR file with a 1 byte file.
test_one_byte: function() {
return run_one_test("1_byte_mar.mar", ["1_byte_file"]);
return run_one_test(refMARPrefix + "1_byte_mar.mar", ["1_byte_file"]);
},
// Test creating a MAR file with binary data.
test_binary_data: function() {
return run_one_test("binary_data_mar.mar", ["binary_data_file"]);
return run_one_test(refMARPrefix + "binary_data_mar.mar",
["binary_data_file"]);
},
// Test creating a MAR file with multiple files inside of it.
test_multiple_file: function() {
return run_one_test("multiple_file_mar.mar",
return run_one_test(refMARPrefix + "multiple_file_mar.mar",
["0_sized_file", "1_byte_file", "binary_data_file"]);
},
// Test creating a MAR file on top of a different one that already exists
@ -58,7 +59,8 @@ function run_test() {
let differentFile = do_get_file("data/1_byte_mar.mar");
let outMARDir = do_get_file(".");
differentFile.copyTo(outMARDir, "out.mar");
return run_one_test("binary_data_mar.mar", ["binary_data_file"], false);
return run_one_test(refMARPrefix + "binary_data_mar.mar",
["binary_data_file"], false);
},
// Between each test make sure the out MAR does not exist.
cleanup_per_test: function() {

Просмотреть файл

@ -137,13 +137,13 @@ function run_test() {
let tests = {
// Test signing a MAR file
test_sign: function() {
let inMAR = do_get_file("data/binary_data_mar.mar");
let inMAR = do_get_file("data/" + refMARPrefix + "binary_data_mar.mar");
let outMAR = do_get_file("signed_out.mar", true);
do_check_false(outMAR.exists());
signMAR(inMAR, outMAR);
do_check_true(outMAR.exists());
let outMARData = getBinaryFileData(outMAR);
let refMAR = do_get_file("data/signed_pib_mar.mar");
let refMAR = do_get_file("data/" + refMARPrefix + "signed_pib_mar.mar");
let refMARData = getBinaryFileData(refMAR);
compareBinaryData(outMARData, refMARData);
},
@ -165,7 +165,9 @@ function run_test() {
},
// Test to make sure a stripped MAR is the same as the original MAR
test_strip_signature: function() {
let originalMAR = do_get_file("data/binary_data_mar.mar");
let originalMAR = do_get_file("data/" +
refMARPrefix +
"binary_data_mar.mar");
let signedMAR = do_get_file("signed_out.mar");
let outMAR = do_get_file("out.mar", true);
stripMARSignature(signedMAR, outMAR);