Athena.java

  1. /*
  2.  * @copyright defined in LICENSE.txt
  3.  */

  4. package ship.test;

  5. import static org.slf4j.LoggerFactory.getLogger;

  6. import org.luaj.vm2.LuaValue;
  7. import org.luaj.vm2.lib.TwoArgFunction;
  8. import org.slf4j.Logger;

  9. public class Athena extends TwoArgFunction {

  10.   protected final transient Logger logger = getLogger(getClass());

  11.   @Override
  12.   public LuaValue call(final LuaValue modname, final LuaValue env) {
  13.     logger.debug("Loading {}...", modname);
  14.     LuaValue library = tableOf();
  15.     final AthenaContext context = AthenaContext.getContext();

  16.     library.set("startSuite", context.startSuite);
  17.     library.set("endSuite", context.endSuite);
  18.     library.set("startTest", context.startTest);
  19.     library.set("endTest", context.endTest);
  20.     library.set("recordError", context.recordError);
  21.     env.set("TestReporter", library);
  22.     return library;
  23.   }
  24. }