diff -r 000000000000 -r 6474c204b198 xpcom/tests/unit/test_bug476919.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xpcom/tests/unit/test_bug476919.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,28 @@ +const Cc = Components.classes; +const Ci = Components.interfaces; + +function run_test() { + // skip this test on Windows + var isWindows = ("@mozilla.org/windows-registry-key;1" in Components.classes); + if (!isWindows) { + var testDir = __LOCATION__.parent; + // create a test file, then symlink it, then check that we think it's a symlink + var targetFile = testDir.clone(); + targetFile.append("target.txt"); + if (!targetFile.exists()) + targetFile.create(Ci.nsIFile.NORMAL_FILE_TYPE, 0644); + + var link = testDir.clone(); + link.append("link"); + if (link.exists()) + link.remove(false); + + var ln = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); + ln.initWithPath("/bin/ln"); + var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); + process.init(ln); + var args = ["-s", targetFile.path, link.path]; + process.run(true, args, args.length); + do_check_true(link.isSymlink()); + } +}