Throughout the search tests now, we have the pattern:
searchSettings.maxTimeSecs(30);
searchSettings.addGoal(CLIENTS_DONE);
searchSettings.addInvariant(RESULTS_OK);
bfs(initSearchState);
assertGoalFound();
searchSettings.clearGoals();
bfs(initSearchState);
If the first bfs is not instant, this wastes significant time. It would be nice to have searchSettings.stopOnGoal() and instruct the search to continue even if it hits a goal-matching state (while still logging the goal-matching state). This will require some re-architecture of SearchResults and BaseJUnitTest as well as Search.java. Additionally, trace minimization should probably be done on the main thread instead of worker threads.
Throughout the search tests now, we have the pattern:
If the first
bfsis not instant, this wastes significant time. It would be nice to havesearchSettings.stopOnGoal()and instruct the search to continue even if it hits a goal-matching state (while still logging the goal-matching state). This will require some re-architecture ofSearchResultsandBaseJUnitTestas well asSearch.java. Additionally, trace minimization should probably be done on the main thread instead of worker threads.