First stab at test code to run a thane bureau - not yet runnable

* New directory tests/src/as with port of java test client
* New build target "abclib" to create a library of the test classes specified 
  in etc/asc_files.txt
* New target to compile TestClientMain.as against testslib.abc and another to 
  run it.

(This proposes the naming convention of *Main.as for "main" thane code and 
main-*.abc for the compiled code)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5058 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Jamie Doornbos
2008-05-09 06:40:53 +00:00
parent 3ccea1c218
commit c626095393
4 changed files with 139 additions and 0 deletions
@@ -0,0 +1,50 @@
package com.threerings.bureau.client {
public class TestClient extends BureauClient
{
public function TestClient (token :String, bureauId :String)
{
super(token, bureauId);
}
protected override function createDirector () :BureauDirector
{
return new TestDirector(_ctx);
}
}
}
import com.threerings.bureau.client.Agent;
import com.threerings.bureau.client.BureauDirector;
import com.threerings.bureau.Log;
import com.threerings.bureau.data.AgentObject;
import com.threerings.bureau.util.BureauContext;
class TestAgent extends Agent
{
public override function start () :void
{
Log.info("Starting agent " + _agentObj.getOid());
}
public override function stop () :void
{
Log.info("Stopping agent " + _agentObj.getOid());
}
}
class TestDirector extends BureauDirector
{
public function TestDirector (ctx :BureauContext)
{
super(ctx);
}
// just use our test agent exclusively - in the real world, the agent created would depend
// on the object's type and/or properties
protected override function createAgent (agentObj :AgentObject) :Agent
{
return new TestAgent();
}
}
@@ -0,0 +1,28 @@
/**
* The main entry point for the bureau test client to be run in thane. Arguments:
* 0: the token to use to log back into the server
* 1: the bureau id of this instance
* 2: the name of the server to log into
* 3: the port to connect to on the server
*/
import avmplus.System;
for (var i :int = 0; i < System.argv.length; ++i) {
print("Argv[" + i + "] = " + System.argv[i]);
}
/*
// create the client and log on
var client :TestClient = new TestClient(
System.getProperty("token"),
System.getProperty("bureauId"));
client.setServer(
System.getProperty("serverName"),
new int[] {Integer.parseInt(System.getProperty("serverPort"))});
client.logon();
// run it
client.run();
*/