summaryrefslogtreecommitdiff
path: root/xpcom/tests/unit/test_bug476919.js
blob: 21cd9253e88e60583a85095fcc06106e0344fffa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
var Cc = Components.classes;
var Ci = Components.interfaces;

function run_test() {
  // skip this test on Windows
  if (mozinfo.os != "win") {
    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, 0o644);

    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());
  }
}