Bug 1140032 - Re-enable FTP xpcshell tests by removing dependency on the cache. r=mayhemer

This commit is contained in:
Masatoshi Kimura 2015-03-24 05:11:18 +09:00
parent 0e3f2eae64
commit 03c159b85e
5 changed files with 117 additions and 109 deletions

View File

@ -62,43 +62,46 @@ const tests = [
function checkData(request, data, ctx) {
do_check_eq(tests[0][1], data);
tests.shift();
next_test();
do_execute_soon(next_test);
}
function storeData(status, entry) {
do_check_eq(status, Components.results.NS_OK);
entry.setMetaDataElement("servertype", "0");
var os = entry.openOutputStream(0);
function storeData() {
var scs = Cc["@mozilla.org/streamConverters;1"].
getService(Ci.nsIStreamConverterService);
var converter = scs.asyncConvertData("text/ftp-dir", "application/http-index-format",
new ChannelListener(checkData, null, CL_ALLOW_UNKNOWN_CL), null);
var written = os.write(tests[0][0], tests[0][0].length);
if (written != tests[0][0].length) {
do_throw("os.write has not written all data!\n" +
" Expected: " + written + "\n" +
" Actual: " + tests[0][0].length + "\n");
}
os.close();
entry.close();
var stream = Cc["@mozilla.org/io/string-input-stream;1"].
createInstance(Ci.nsIStringInputStream);
stream.data = tests[0][0];
var ios = Components.classes["@mozilla.org/network/io-service;1"].
getService(Components.interfaces.nsIIOService);
var channel = ios.newChannel2(URL,
"",
null,
null, // aLoadingNode
Services.scriptSecurityManager.getSystemPrincipal(),
null, // aTriggeringPrincipal
Ci.nsILoadInfo.SEC_NORMAL,
Ci.nsIContentPolicy.TYPE_OTHER);
channel.asyncOpen(new ChannelListener(checkData, null, CL_ALLOW_UNKNOWN_CL), null);
var url = {
password: "",
asciiSpec: URL,
QueryInterface: XPCOMUtils.generateQI([Ci.nsIURI])
};
var channel = {
URI: url,
contentLength: -1,
pending: true,
isPending: function() {
return this.pending;
},
QueryInterface: XPCOMUtils.generateQI([Ci.nsIChannel])
};
converter.onStartRequest(channel, null);
converter.onDataAvailable(channel, null, stream, 0, 0);
channel.pending = false;
converter.onStopRequest(channel, null, Cr.NS_OK);
}
function next_test() {
if (tests.length == 0)
do_test_finished();
else {
asyncOpenCacheEntry(URL,
"disk", Ci.nsICacheStorage.OPEN_NORMALLY, null,
storeData);
storeData();
}
}

View File

@ -66,43 +66,46 @@ const tests = [
function checkData(request, data, ctx) {
do_check_eq(tests[0][1], data);
tests.shift();
next_test();
do_execute_soon(next_test);
}
function storeData(status, entry) {
do_check_eq(status, Components.results.NS_OK);
entry.setMetaDataElement("servertype", "0");
var os = entry.openOutputStream(0);
var scs = Cc["@mozilla.org/streamConverters;1"].
getService(Ci.nsIStreamConverterService);
var converter = scs.asyncConvertData("text/ftp-dir", "application/http-index-format",
new ChannelListener(checkData, null, CL_ALLOW_UNKNOWN_CL), null);
var written = os.write(tests[0][0], tests[0][0].length);
if (written != tests[0][0].length) {
do_throw("os.write has not written all data!\n" +
" Expected: " + written + "\n" +
" Actual: " + tests[0][0].length + "\n");
}
os.close();
entry.close();
var stream = Cc["@mozilla.org/io/string-input-stream;1"].
createInstance(Ci.nsIStringInputStream);
stream.data = tests[0][0];
var ios = Components.classes["@mozilla.org/network/io-service;1"].
getService(Components.interfaces.nsIIOService);
var channel = ios.newChannel2(URL,
"",
null,
null, // aLoadingNode
Services.scriptSecurityManager.getSystemPrincipal(),
null, // aTriggeringPrincipal
Ci.nsILoadInfo.SEC_NORMAL,
Ci.nsIContentPolicy.TYPE_OTHER);
channel.asyncOpen(new ChannelListener(checkData, null, CL_ALLOW_UNKNOWN_CL), null);
var url = {
password: "",
asciiSpec: URL,
QueryInterface: XPCOMUtils.generateQI([Ci.nsIURI])
};
var channel = {
URI: url,
contentLength: -1,
pending: true,
isPending: function() {
return this.pending;
},
QueryInterface: XPCOMUtils.generateQI([Ci.nsIChannel])
};
converter.onStartRequest(channel, null);
converter.onDataAvailable(channel, null, stream, 0, 0);
channel.pending = false;
converter.onStopRequest(channel, null, Cr.NS_OK);
}
function next_test() {
if (tests.length == 0)
do_test_finished();
else {
asyncOpenCacheEntry(URL,
"disk", Ci.nsICacheStorage.OPEN_NORMALLY, null,
storeData);
storeData();
}
}

View File

@ -24,43 +24,46 @@ const tests = [
function checkData(request, data, ctx) {
do_check_eq(tests[0][1], data);
tests.shift();
next_test();
do_execute_soon(next_test);
}
function storeData(status, entry) {
do_check_eq(status, Components.results.NS_OK);
entry.setMetaDataElement("servertype", "0");
var os = entry.openOutputStream(0);
var scs = Cc["@mozilla.org/streamConverters;1"].
getService(Ci.nsIStreamConverterService);
var converter = scs.asyncConvertData("text/ftp-dir", "application/http-index-format",
new ChannelListener(checkData, null, CL_ALLOW_UNKNOWN_CL), null);
var written = os.write(tests[0][0], tests[0][0].length);
if (written != tests[0][0].length) {
do_throw("os.write has not written all data!\n" +
" Expected: " + written + "\n" +
" Actual: " + tests[0][0].length + "\n");
}
os.close();
entry.close();
var stream = Cc["@mozilla.org/io/string-input-stream;1"].
createInstance(Ci.nsIStringInputStream);
stream.data = tests[0][0];
var ios = Components.classes["@mozilla.org/network/io-service;1"].
getService(Components.interfaces.nsIIOService);
var channel = ios.newChannel2(URL,
"",
null,
null, // aLoadingNode
Services.scriptSecurityManager.getSystemPrincipal(),
null, // aTriggeringPrincipal
Ci.nsILoadInfo.SEC_NORMAL,
Ci.nsIContentPolicy.TYPE_OTHER);
channel.asyncOpen(new ChannelListener(checkData, null, CL_ALLOW_UNKNOWN_CL), null);
var url = {
password: "",
asciiSpec: URL,
QueryInterface: XPCOMUtils.generateQI([Ci.nsIURI])
};
var channel = {
URI: url,
contentLength: -1,
pending: true,
isPending: function() {
return this.pending;
},
QueryInterface: XPCOMUtils.generateQI([Ci.nsIChannel])
};
converter.onStartRequest(channel, null);
converter.onDataAvailable(channel, null, stream, 0, 0);
channel.pending = false;
converter.onStopRequest(channel, null, Cr.NS_OK);
}
function next_test() {
if (tests.length == 0)
do_test_finished();
else {
asyncOpenCacheEntry(URL,
"disk", Ci.nsICacheStorage.OPEN_NORMALLY, null,
storeData);
storeData();
}
}

View File

@ -42,43 +42,46 @@ const tests = [
function checkData(request, data, ctx) {
do_check_eq(tests[0][1], data);
tests.shift();
next_test();
do_execute_soon(next_test);
}
function storeData(status, entry) {
do_check_eq(status, Components.results.NS_OK);
entry.setMetaDataElement("servertype", "0");
var os = entry.openOutputStream(0);
var scs = Cc["@mozilla.org/streamConverters;1"].
getService(Ci.nsIStreamConverterService);
var converter = scs.asyncConvertData("text/ftp-dir", "application/http-index-format",
new ChannelListener(checkData, null, CL_ALLOW_UNKNOWN_CL), null);
var written = os.write(tests[0][0], tests[0][0].length);
if (written != tests[0][0].length) {
do_throw("os.write has not written all data!\n" +
" Expected: " + written + "\n" +
" Actual: " + tests[0][0].length + "\n");
}
os.close();
entry.close();
var stream = Cc["@mozilla.org/io/string-input-stream;1"].
createInstance(Ci.nsIStringInputStream);
stream.data = tests[0][0];
var ios = Components.classes["@mozilla.org/network/io-service;1"].
getService(Components.interfaces.nsIIOService);
var channel = ios.newChannel2(URL,
"",
null,
null, // aLoadingNode
Services.scriptSecurityManager.getSystemPrincipal(),
null, // aTriggeringPrincipal
Ci.nsILoadInfo.SEC_NORMAL,
Ci.nsIContentPolicy.TYPE_OTHER);
channel.asyncOpen(new ChannelListener(checkData, null, CL_ALLOW_UNKNOWN_CL), null);
var url = {
password: "",
asciiSpec: URL,
QueryInterface: XPCOMUtils.generateQI([Ci.nsIURI])
};
var channel = {
URI: url,
contentLength: -1,
pending: true,
isPending: function() {
return this.pending;
},
QueryInterface: XPCOMUtils.generateQI([Ci.nsIChannel])
};
converter.onStartRequest(channel, null);
converter.onDataAvailable(channel, null, stream, 0, 0);
channel.pending = false;
converter.onStopRequest(channel, null, Cr.NS_OK);
}
function next_test() {
if (tests.length == 0)
do_test_finished();
else {
asyncOpenCacheEntry(URL,
"disk", Ci.nsICacheStorage.OPEN_NORMALLY, null,
storeData);
storeData();
}
}

View File

@ -92,7 +92,6 @@ skip-if = true
[test_bug336501.js]
[test_bug337744.js]
[test_bug365133.js]
skip-if = "FTP channel implementation needs to migrate to the new cache backend API"
[test_bug368702.js]
[test_bug369787.js]
[test_bug371473.js]
@ -119,19 +118,16 @@ skip-if = "FTP channel implementation needs to migrate to the new cache backend
[test_bug479485.js]
[test_bug482601.js]
[test_bug484684.js]
skip-if = "FTP channel implementation needs to migrate to the new cache backend API"
[test_bug490095.js]
# Bug 675039: intermittent fail on Android-armv6
skip-if = os == "android"
[test_bug504014.js]
[test_bug510359.js]
[test_bug515583.js]
skip-if = "FTP channel implementation needs to migrate to the new cache backend API"
[test_bug528292.js]
[test_bug536324_64bit_content_length.js]
[test_bug540566.js]
[test_bug543805.js]
skip-if = "FTP channel implementation needs to migrate to the new cache backend API"
[test_bug553970.js]
[test_bug561042.js]
# Bug 675039: test fails on Android 4.0