You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.2 KiB
39 lines
1.2 KiB
// Set the umask, so that it works the same everywhere. |
|
process.umask(parseInt('22', 8)) |
|
|
|
var tap = require("tap") |
|
, tar = require("../tar.js") |
|
, fs = require("fs") |
|
, path = require("path") |
|
, file = path.resolve(__dirname, "link-file-entry-collision/bad-link.tar") |
|
, target = path.resolve(__dirname, "tmp/link-file-entry-collision") |
|
, index = 0 |
|
, fstream = require("fstream") |
|
, mkdirp = require("mkdirp") |
|
, rimraf = require("rimraf") |
|
|
|
tap.test("preclean", function (t) { |
|
rimraf.sync(target) |
|
t.pass("cleaned!") |
|
t.end() |
|
}) |
|
|
|
tap.test("extract test", function (t) { |
|
var extract = tar.Extract(target) |
|
var inp = fs.createReadStream(file) |
|
inp.pipe(extract) |
|
|
|
extract.on("end", function () { |
|
t.equal(fs.readFileSync(target + "/bad-link-target", "utf8"), |
|
"this should remain the same\n") |
|
t.equal(fs.readFileSync(target + "/a.txt", "utf8"), |
|
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") |
|
t.end() |
|
}) |
|
}) |
|
|
|
tap.test("cleanup", function (t) { |
|
rimraf.sync(target) |
|
t.pass("cleaned!") |
|
t.end() |
|
})
|
|
|