77 lines
1.6 KiB
Haxe
77 lines
1.6 KiB
Haxe
package;
|
|
import gc.TestGC;
|
|
|
|
class TestMain #if nme extends nme.display.Sprite #end {
|
|
|
|
static function runTests():Int
|
|
{
|
|
var passes = 1;
|
|
#if !nme
|
|
var args = Sys.args();
|
|
if (args.length>0)
|
|
passes = Std.parseInt(args[0]);
|
|
#end
|
|
|
|
var r = new haxe.unit.TestRunner();
|
|
r.add(new TestTypes());
|
|
r.add(new TestKeywords());
|
|
r.add(new TestSort());
|
|
r.add(new TestGC());
|
|
#if !nme
|
|
r.add(new gc.TestGCThreaded());
|
|
#end
|
|
r.add(new TestIntHash());
|
|
r.add(new TestStringHash());
|
|
r.add(new TestObjectHash());
|
|
r.add(new TestWeakHash());
|
|
#if !nme
|
|
r.add(new file.TestFile());
|
|
#end
|
|
|
|
#if cpp
|
|
r.add(new native.TestFinalizer());
|
|
#end
|
|
|
|
for(i in 0...passes)
|
|
{
|
|
var t0 = haxe.Timer.stamp();
|
|
var success = r.run();
|
|
trace(" Time : " + (haxe.Timer.stamp()-t0)*1000 );
|
|
if (!success)
|
|
return 1;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
#if nme
|
|
var frameCount = 0;
|
|
var tf:nme.text.TextField;
|
|
public function new()
|
|
{
|
|
super();
|
|
tf = new nme.text.TextField();
|
|
tf.text="RUN...";
|
|
addChild(tf);
|
|
addEventListener( nme.events.Event.ENTER_FRAME, onFrame );
|
|
}
|
|
|
|
function onFrame(_)
|
|
{
|
|
var err = runTests();
|
|
tf.text = "" + (++frameCount);
|
|
stage.opaqueBackground = err==0 ? 0xff00ff00: 0xffff0000;
|
|
|
|
}
|
|
|
|
static function endTest(error:Int) trace(error==0 ? "All tests OK" : "Tests Failed!");
|
|
#else
|
|
public static function main()
|
|
{
|
|
Sys.exit(runTests());
|
|
}
|
|
public static function endTest(error:Int) Sys.exit(error);
|
|
#end
|
|
}
|
|
|
|
|