77 lines
1.6 KiB
Haxe
Raw Normal View History

2025-01-22 16:18:30 +01:00
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
}