Remove test-base64-bigfile
Already tested in test/simple/test-buffer.js. Takes too long, uses too much memory.
This commit is contained in:
parent
15594eaf87
commit
fcd0c3ebc0
@ -1,136 +0,0 @@
|
||||
|
||||
var common = require("../common");
|
||||
var path = require("path");
|
||||
var assert = common.assert;
|
||||
var bigFile = path.join(common.tmpDir, "bigFile");
|
||||
var fs = require("fs");
|
||||
var cp = require("child_process");
|
||||
|
||||
console.error("Note: This test requires the dd, base64, and shasum programs.");
|
||||
|
||||
fs.stat(bigFile, function (er, s) {
|
||||
if (er || s.size < 1024*1024*128) {
|
||||
makeBigFile();
|
||||
} else {
|
||||
doEncoding();
|
||||
}
|
||||
})
|
||||
|
||||
function makeBigFile () {
|
||||
console.error("making bigFile");
|
||||
// write 128mb of zeros to bigFile
|
||||
cp.exec("dd if=/dev/zero of="+bigFile+" bs=134217728 count=1", function (er) {
|
||||
if (er) {
|
||||
console.error("Failed to create "+bigFile);
|
||||
throw er;
|
||||
}
|
||||
doEncoding();
|
||||
});
|
||||
}
|
||||
|
||||
function doEncoding () {
|
||||
// encode with node.
|
||||
console.error("doing encoding");
|
||||
fs.readFile(bigFile, function (er, data) {
|
||||
if (er) throw er;
|
||||
var b64 = new Buffer(data.toString("base64"));
|
||||
fs.writeFile(bigFile+"-enc-node", b64, encDone);
|
||||
});
|
||||
// encode with base64
|
||||
cp.exec("base64 <"+bigFile+" >"+bigFile+"-enc-native", encDone);
|
||||
|
||||
var encCalls = 2;
|
||||
function encDone (er) {
|
||||
if (er) {
|
||||
console.error("failed to encode");
|
||||
throw er;
|
||||
}
|
||||
if (-- encCalls > 0) return;
|
||||
doDecoding()
|
||||
}
|
||||
}
|
||||
|
||||
function doDecoding () {
|
||||
console.error("doing decoding");
|
||||
// decode both files both ways
|
||||
decodeNode( bigFile+"-enc-node" , decDone);
|
||||
decodeNode( bigFile+"-enc-native", decDone);
|
||||
decodeNative(bigFile+"-enc-node" , decDone);
|
||||
decodeNative(bigFile+"-enc-native", decDone);
|
||||
|
||||
var decCalls = 4;
|
||||
function decDone (er) {
|
||||
if (er) {
|
||||
console.error("failed to decode");
|
||||
throw er;
|
||||
}
|
||||
if (-- decCalls > 0) return;
|
||||
doShasum();
|
||||
}
|
||||
}
|
||||
|
||||
function decodeNode (f, cb) {
|
||||
// decode with node.
|
||||
console.error("decode "+path.basename(f)+" with node");
|
||||
fs.readFile(f, function (er, data) {
|
||||
if (er) throw er;
|
||||
var dec = new Buffer(data.toString(), "base64");
|
||||
fs.writeFile(f+"-dec-node", dec, cb);
|
||||
});
|
||||
}
|
||||
|
||||
function decodeNative (f, cb) {
|
||||
console.error("decode "+path.basename(f)+" natively");
|
||||
cp.exec("base64 -d <"+f+" >"+f+"-dec-native", cb);
|
||||
}
|
||||
|
||||
// check the shasums of all decoded files match the original.
|
||||
function doShasum () {
|
||||
console.error("do shasums");
|
||||
// make sure to get the original first.
|
||||
shaFile(bigFile, function (file, out) {
|
||||
checkSha(file, out);
|
||||
shaFile(bigFile+"-enc-node-dec-node" , checkSha);
|
||||
shaFile(bigFile+"-enc-native-dec-node" , checkSha);
|
||||
shaFile(bigFile+"-enc-node-dec-native" , checkSha);
|
||||
shaFile(bigFile+"-enc-native-dec-native", checkSha);
|
||||
});
|
||||
}
|
||||
|
||||
function shaFile (file, cb) {
|
||||
console.error("shasum "+path.basename(file));
|
||||
cp.exec("shasum "+file, function (er, out) {
|
||||
if (er) {
|
||||
console.error("failed to shasum "+path.basename(file));
|
||||
throw er;
|
||||
}
|
||||
cb(file, out);
|
||||
});
|
||||
}
|
||||
|
||||
var sha = null;
|
||||
var fail = null;
|
||||
var checks = 5;
|
||||
|
||||
function checkSha (file, out) {
|
||||
var s = out.toString().match(/^([a-fA-F0-9]{40})/);
|
||||
if (!s) {
|
||||
console.error("bad sha: "+out);
|
||||
throw new Error("fail");
|
||||
}
|
||||
s = s[0];
|
||||
console.error(s+" "+path.basename(file));
|
||||
if (sha === null) {
|
||||
sha = s;
|
||||
} else {
|
||||
// assert.equal(sha, s, file+" doesn't match shasum "+s);
|
||||
if (sha !== s) {
|
||||
console.error(path.basename(file)+" sha doesn't match")
|
||||
fail = fail || new Error("Some shasums didn't match");
|
||||
}
|
||||
}
|
||||
if (-- checks === 0) {
|
||||
if (fail) throw fail;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user