From 8198f79a8668bfcde9eb889c70a6823780141cf6 Mon Sep 17 00:00:00 2001 From: James Roseborough Date: Tue, 1 Jul 2008 14:38:00 +0000 Subject: [PATCH] Capture output from jit tests and compare --- src/test/java/org/luaj/jit/LuaJitBasicTest.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/test/java/org/luaj/jit/LuaJitBasicTest.java b/src/test/java/org/luaj/jit/LuaJitBasicTest.java index e03fec3b..d5e58c18 100644 --- a/src/test/java/org/luaj/jit/LuaJitBasicTest.java +++ b/src/test/java/org/luaj/jit/LuaJitBasicTest.java @@ -1,12 +1,14 @@ package org.luaj.jit; import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import junit.framework.TestCase; import org.luaj.compiler.LuaC; +import org.luaj.lib.BaseLib; import org.luaj.platform.J2sePlatform; import org.luaj.vm.LClosure; import org.luaj.vm.LPrototype; @@ -116,17 +118,21 @@ public class LuaJitBasicTest extends TestCase { private void stringTest(String program) throws IOException { InputStream is = new ByteArrayInputStream(program.getBytes()); LPrototype p = LuaC.compile(is, "program"); - run( p ); + String expected = run( p ); LPrototype q = LuaJit.jitCompile( p ); assertTrue(p!=q); - run( q ); + String actual = run( q ); + assertEquals( expected, actual ); } - private static void run(LPrototype p) { + private static String run(LPrototype p) { + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + BaseLib.redirectOutput(outputStream); LuaState vm = Platform.newLuaState(); LClosure c = p.newClosure(vm._G); vm.pushlvalue(c); vm.call(0, 0); + return outputStream.toString(); } }