First commit
This commit is contained in:
+59
@@ -0,0 +1,59 @@
|
||||
import haxelib.client.Vcs.VcsID;
|
||||
import haxe.unit.TestRunner;
|
||||
import sys.*;
|
||||
import sys.io.*;
|
||||
import tests.*;
|
||||
using StringTools;
|
||||
|
||||
class HaxelibTests {
|
||||
public static function runCommand(cmd:String, args:Array<String>):Void
|
||||
{
|
||||
Sys.println('Command: $cmd $args');
|
||||
|
||||
var exitCode = Sys.command(cmd, args);
|
||||
|
||||
Sys.println('Command exited with $exitCode: $cmd $args');
|
||||
|
||||
if(exitCode != 0)
|
||||
Sys.exit(exitCode);
|
||||
}
|
||||
|
||||
static function cmdSucceed(cmd:String, ?args:Array<String>):Bool {
|
||||
var p = try {
|
||||
new Process(cmd, args);
|
||||
} catch(e:Dynamic) {
|
||||
return false;
|
||||
}
|
||||
var exitCode = p.exitCode();
|
||||
p.close();
|
||||
return exitCode == 0;
|
||||
}
|
||||
|
||||
static function main():Void {
|
||||
var r = new TestRunner();
|
||||
|
||||
r.add(new TestSemVer());
|
||||
r.add(new TestData());
|
||||
r.add(new TestRemoveSymlinks());
|
||||
r.add(new TestRemoveSymlinksBroken());
|
||||
|
||||
var isCI = Sys.getEnv("CI") != null;
|
||||
|
||||
if (isCI || cmdSucceed("hg", ["version"])) {
|
||||
// Hg impl. suports tags & revs. Here "78edb4b" is a first revision "initial import" at that repo:
|
||||
r.add(new TestHg());
|
||||
} else {
|
||||
Sys.println("hg not found.");
|
||||
}
|
||||
if (isCI || cmdSucceed("git", ["version"])) {
|
||||
// Git impl. suports only tags. Here "0.9.2" is a first revision too ("initial import"):
|
||||
r.add(new TestGit());
|
||||
} else {
|
||||
Sys.println("git not found.");
|
||||
}
|
||||
r.add(new TestVcsNotFound());
|
||||
|
||||
var success = r.run();
|
||||
Sys.exit(success ? 0 : 1);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user