diff --git a/test/pummel/test-base64-bigfile.js b/test/pummel/test-base64-bigfile.js deleted file mode 100644 index a18c0bb42e..0000000000 --- a/test/pummel/test-base64-bigfile.js +++ /dev/null @@ -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; - } -} -