[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[computer-go] unit test failure in orego



hi, just starting to fool around with orego. running CutSuggestorTest and ConnectSuggestorTest run fine when run by themselves, but when put into an all tests suite (see below, i did have to write a few suite() methods), they throw at Region.contains() on return ((bits[move.getRow()] >>> move.getCol()) & 1) != 0; with an array out of bound (value is 4). sorta feels like there are some side effects. anybody got a clue?

thanks

package orego.detect;
//import org.apache.commons.logging.Log;
//import org.apache.commons.logging.LogFactory;
import junit.framework.*;
public class AllTests {
public static void main(String[] args) throws Exception {
junit.textui.TestRunner.run(suite());
}
public static Test suite() throws Exception {
//log.info(clazz);
TestSuite suite=new TestSuite();
suite.addTest(BensonLifeTest.suite());
suite.addTest(BlockFinderTest.suite());
suite.addTest(ConnectSuggestorTest.suite());
suite.addTest(CutSuggestorTest.suite());
suite.addTest(LebensraumDetectorTest.suite());
suite.addTest(LibertyCounterTest.suite());
suite.addTest(NearestNeighborScorerTest.suite());
suite.addTest(PatternMatcherTest.suite());
suite.addTest(PlayNearLastMoveSuggestorTest.suite());
suite.addTest(StrictScorerTest.suite());
suite.addTest(ThirdAndFourthLineSuggestorTest.suite());
return suite;
}
private static final Class clazz=AllTests.class;
// static final Log log=LogFactory.getLog(clazz);
}

[echo] env.ANT_HOME=d:\opt\dev\tools\apache-ant-1.6.2
[echo] env.JAVA_HOME=d:\opt\dev\sdks\jdk-1_5_0_01
[echo] rt.jar=d:\opt\dev\sdks\jdk-1_5_0_01/jre/lib/rt.jar

init:

compile:

compiletst:

test:
[java] .testInAtari
[java] .testLiberties
[java] .testLegalMove
[java] .testCapture
[java] .testOccupiedPoint
[java] .testKoViolation
[java] .testAnotherKoViolation
[java] .testEastEdgeKoViolation
[java] .testSuperKo
[java] ..testNormalize
[java] .testNormalizeSymmetric
[java] .testReflect
[java] .testRotate
[java] .testRotateSymmetric
[java] .testBoardExtraction
[java] .testApply
[java] .testClone
[java] .testEquals
[java] .testColorAt
[java] .testGetRegion
[java] .testIsOccupied
[java] .testSetColor
[java] .testToString
[java] .testCompareTo
[java] .testSwapColors
[java] .testClone
[java] .testEquals
[java] .testToString
[java] .testGetCol
[java] .testGetRow
[java] .testIsPass
[java] .testReflect
[java] .testRotate
[java] .testClone
[java] .testAllZero
[java] .testGetWidth
[java] .testIncrement
[java] .testIterator
[java] .testNonzeroRegion
[java] .
[java] testSet
[java] .testOpposite
[java] .testMatch
[java] .testCorrectMatch
[java] .testCornerFailedMatch
[java] .testSuccessfulEdgeMatch
[java] .testWinnow
[java] .testReflect
[java] .testRotate
[java] .testClone
[java] .testEquals
[java] .testToString
[java] .testIterator
[java] .testAdd
[java] .testContains
[java] .testInterior
[java] .testMinus
[java] .testExpand
[java] .testExpandToRectangle
[java] .testFindBlock
[java] .testHashCode
[java] .testIntersection
[java] .testIntersects
[java] .testIsContiguous
[java] .testIsEmpty
[java] .testInterior
[java] .testInteriorOnEdge
[java] .testKeepOnly
[java] .testNegate
[java] .testNeighbors
[java] .testRandomPoint
[java] .testRemove
[java] .testShiftDown
[java] .testShiftLeft
[java] .testShiftRight
[java] .testShiftUp
[java] .testSize
[java] .testUnion
[java] .testAlternateConstructor
[java] .testKeepRandomSubset
[java] .testAlive
[java] .
[java] testGetVacantBlock
[java] .testGetBlock
[java] .testGetBlocks
[java] .testFindBlocks
[java] .testConnection
[java] E.testIllusory
[java] E.testCut
[java] E.testConnection
[java] E.Skipping testUpdate because getBoardWidth() is not 9
[java] .testLibertyCount
[java] .testDisappearingStones
[java] .testMatch
[java] .testNoMatch
[java] .testColorInversion
[java] .testMultiplePatterns
[java] .testMove
[java] .testUpdate
[java] .testWithNothingDead
[java] ..testSet
[java] .testSingleMove
[java] H:\projects\orego /D:/opt/dev/tools/apache-ant-1.6.2/lib/ant.jar
[java] .testMultipleMoves
[java] H:\projects\orego /D:/opt/dev/tools/apache-ant-1.6.2/lib/ant.jar
[java] .testVariations
[java] H:\projects\orego /D:/opt/dev/tools/apache-ant-1.6.2/lib/ant.jar

[java] Time: 0.55
[java] There were 4 errors:
[java] 1) testConnection(orego.detect.ConnectSuggestorTest)java.lang.ArrayIndexOutOfBoundsException: 5
[java] at orego.datastruct.Region.contains(Unknown Source)
[java] at orego.datastruct.Configuration.isOccupied(Unknown Source)
[java] at orego.datastruct.Board.tryPlayingAt(Unknown Source)
[java] at orego.datastruct.Board.playAt(Unknown Source)
[java] at orego.detect.ConnectSuggestorTest.testConnection(Unknown Source)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at AllTests.main(Unknown Source)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:193)
[java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:130)
[java] at org.apache.tools.ant.taskdefs.Java.run(Java.java:705)
[java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:177)
[java] at org.apache.tools.ant.taskdefs.Java.execute(Java.java:83)
[java] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
[java] at org.apache.tools.ant.Task.perform(Task.java:364)
[java] at org.apache.tools.ant.Target.execute(Target.java:341)
[java] at org.apache.tools.ant.Target.performTasks(Target.java:369)
[java] at org.apache.tools.ant.Project.executeTarget(Project.java:1214)
[java] at org.apache.tools.ant.Project.executeTargets(Project.java:1062)
[java] at org.apache.tools.ant.Main.runBuild(Main.java:673)
[java] at org.apache.tools.ant.Main.startAnt(Main.java:188)
[java] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
[java] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)
[java] 2) testIllusory(orego.detect.ConnectSuggestorTest)java.lang.ArrayIndexOutOfBoundsException: 4
[java] at orego.datastruct.Region.contains(Unknown Source)
[java] at orego.datastruct.Configuration.isOccupied(Unknown Source)
[java] at orego.datastruct.Board.tryPlayingAt(Unknown Source)
[java] at orego.datastruct.Board.playAt(Unknown Source)
[java] at orego.detect.ConnectSuggestorTest.testIllusory(Unknown Source)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at AllTests.main(Unknown Source)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:193)
[java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:130)
[java] at org.apache.tools.ant.taskdefs.Java.run(Java.java:705)
[java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:177)
[java] at org.apache.tools.ant.taskdefs.Java.execute(Java.java:83)
[java] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
[java] at org.apache.tools.ant.Task.perform(Task.java:364)
[java] at org.apache.tools.ant.Target.execute(Target.java:341)
[java] at org.apache.tools.ant.Target.performTasks(Target.java:369)
[java] at org.apache.tools.ant.Project.executeTarget(Project.java:1214)
[java] at org.apache.tools.ant.Project.executeTargets(Project.java:1062)
[java] at org.apache.tools.ant.Main.runBuild(Main.java:673)
[java] at org.apache.tools.ant.Main.startAnt(Main.java:188)
[java] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
[java] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)
[java] 3) testCut(orego.detect.CutSuggestorTest)java.lang.ArrayIndexOutOfBoundsException: 4
[java] at orego.datastruct.Region.contains(Unknown Source)
[java] at orego.datastruct.Configuration.isOccupied(Unknown Source)
[java] at orego.datastruct.Board.tryPlayingAt(Unknown Source)
[java] at orego.datastruct.Board.playAt(Unknown Source)
[java] at orego.detect.CutSuggestorTest.testCut(Unknown Source)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at AllTests.main(Unknown Source)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:193)
[java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:130)
[java] at org.apache.tools.ant.taskdefs.Java.run(Java.java:705)
[java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:177)
[java] at org.apache.tools.ant.taskdefs.Java.execute(Java.java:83)
[java] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
[java] at org.apache.tools.ant.Task.perform(Task.java:364)
[java] at org.apache.tools.ant.Target.execute(Target.java:341)
[java] at org.apache.tools.ant.Target.performTasks(Target.java:369)
[java] at org.apache.tools.ant.Project.executeTarget(Project.java:1214)
[java] at org.apache.tools.ant.Project.executeTargets(Project.java:1062)
[java] at org.apache.tools.ant.Main.runBuild(Main.java:673)
[java] at org.apache.tools.ant.Main.startAnt(Main.java:188)
[java] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
[java] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)
[java] 4) testIllusoryCut(orego.detect.CutSuggestorTest)java.lang.ArrayIndexOutOfBoundsException: 4
[java] at orego.datastruct.Region.contains(Unknown Source)
[java] at orego.datastruct.Configuration.isOccupied(Unknown Source)
[java] at orego.datastruct.Board.tryPlayingAt(Unknown Source)
[java] at orego.datastruct.Board.playAt(Unknown Source)
[java] at orego.detect.CutSuggestorTest.testIllusoryCut(Unknown Source)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at AllTests.main(Unknown Source)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:193)
[java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:130)
[java] at org.apache.tools.ant.taskdefs.Java.run(Java.java:705)
[java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:177)
[java] at org.apache.tools.ant.taskdefs.Java.execute(Java.java:83)
[java] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
[java] at org.apache.tools.ant.Task.perform(Task.java:364)
[java] at org.apache.tools.ant.Target.execute(Target.java:341)
[java] at org.apache.tools.ant.Target.performTasks(Target.java:369)
[java] at org.apache.tools.ant.Project.executeTarget(Project.java:1214)
[java] at org.apache.tools.ant.Project.executeTargets(Project.java:1062)
[java] at org.apache.tools.ant.Main.runBuild(Main.java:673)
[java] at org.apache.tools.ant.Main.startAnt(Main.java:188)
[java] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
[java] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)

[java] FAILURES!!!
[java] Tests run: 104, Failures: 0, Errors: 4


BUILD SUCCESSFUL
Total time: 3 seconds


---
ray tayek <http://tayek.com/>, co-chair <http://www.ocjug.org/>, actively seeking telecommuting work.

_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/