浏览代码

TravisCI: Test neko and macro.

Andy Li 11 年之前
父节点
当前提交
855d685076
共有 2 个文件被更改,包括 39 次插入0 次删除
  1. 16 0
      .travis.yml
  2. 23 0
      tests/unit/RunTravis.hx

+ 16 - 0
.travis.yml

@@ -1,5 +1,20 @@
 language: node_js
 
+env:
+  # - TARGET=flash8
+  # - TARGET=flash9
+  # - TARGET=js
+  - TARGET=neko
+  - TARGET=macro
+  # - TARGET=php
+  # - TARGET=as3
+  # - TARGET=cpp
+  # - TARGET=java
+  # - TARGET=cs
+
+matrix:
+  fast_finish: true
+
 before_install:
   - sudo apt-get install ocaml zlib1g-dev libgc-dev -y
   - git clone https://github.com/HaxeFoundation/neko.git ~/neko && cd ~/neko && make && sudo make install && cd $TRAVIS_BUILD_DIR
@@ -11,3 +26,4 @@ script:
   - cd tests/unit/
   - mkdir ~/haxelib && haxelib setup ~/haxelib
   - haxe -version
+  - haxe -main RunTravis --interp

+ 23 - 0
tests/unit/RunTravis.hx

@@ -0,0 +1,23 @@
+import sys.io.Process;
+
+class RunTravis {
+	static function runProcess(p:Process):Void {
+		Sys.println(p.stdout.readAll().toString());
+
+		if (p.exitCode() != 0) {
+			Sys.exit(1);
+		}
+	}
+
+	static function main():Void {
+		switch (Sys.getEnv("TARGET")) {
+			case "macro":
+				runProcess(new Process("haxe", ["compile-macro.hxml"]));
+			case "neko":
+				runProcess(new Process("haxe", ["compile-neko.hxml"]));
+				runProcess(new Process("neko", ["unit.n"]));
+			case target:
+				throw "unknown target: " + target;
+		}
+	}
+}