-
Bug
-
Resolution: Done
-
Blocker
-
None
-
None
-
None
-
NEW
-
NEW
16:56:18.256 INFO [main ] Started TimeTableControllerTest in 4.92 seconds (JVM running for 5.696) 16:56:18.669 INFO [pool-1-thread-1] Solving started: time spent (75), best score (-38init/0hard/0soft), environment mode (REPRODUCIBLE), random (JDK with seed 0). 16:56:18.888 INFO [pool-1-thread-1] Construction Heuristic phase (0) ended: time spent (294), best score (0hard/-2soft), score calculation speed (2631/sec), step total (19). 16:56:18.890 INFO [pool-1-thread-1] Solving ended: time spent (296), best score (0hard/-2soft), score calculation speed (1932/sec), phase total (2), environment mode (REPRODUCIBLE). >>>>>>>>>>> timeTable.getScore() is -38init/0hard/0soft [ERROR] Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 5.911 s <<< FAILURE! - in com.example.solver.TimeTableControllerTest [ERROR] solveDemoDataUntilFeasible Time elapsed: 0.388 s <<< FAILURE! org.opentest4j.AssertionFailedError: expected: <true> but was: <false> at com.example.solver.TimeTableControllerTest.solveDemoDataUntilFeasible(TimeTableControllerTest.java:33)
Solving ended: time spent (296), best score (0hard/-2soft), ...
>>>>>>>>>>> timeTable.getScore() is -38init/0hard/0soft
It doesn't happen every time, run this on the spring boot "complete" example:
good=0; bad=0; for i in {1..10}; do mvn test; if [ $? -eq 0 ]; then ((good++)); else ((bad++)); fi; done; echo "====="; echo "Results: $good good, $bad bad"
Caused by SpringBoot's calling getSolverStatus() after loading the data from the dataset. In a race condition the solver terminates right in the middle of that.