List<WorkItem> getAutoWorkQueue(String networkName, String testrigName) { List<WorkItem> autoWorkQueue = new LinkedList<>(); WorkItem parseWork = WorkItemBuilder.getWorkItemParse(networkName, testrigName); autoWorkQueue.add(parseWork); Set<String> analysisNames = listAnalyses(networkName, AnalysisType.ALL); for (String analysis : analysisNames) { WorkItem analyzeWork = WorkItemBuilder.getWorkItemRunAnalysis( analysis, networkName, testrigName, null, false, false); autoWorkQueue.add(analyzeWork); } return autoWorkQueue; }
private boolean runAnalysis( @Nullable FileWriter outWriter, List<String> options, List<String> parameters, boolean delta, boolean differential) { Command command = differential ? Command.RUN_ANALYSIS_DIFFERENTIAL : delta ? Command.RUN_ANALYSIS_REFERENCE : Command.RUN_ANALYSIS; if (!isValidArgument(options, parameters, 0, 1, 1, command)) { return false; } if (!isSetContainer(true) || !isSetTestrig()) { return false; } String analysisName = parameters.get(0); // answer the question WorkItem wItemAs = WorkItemBuilder.getWorkItemRunAnalysis( analysisName, _currContainerName, _currTestrig, _currDeltaTestrig, delta, differential); return execute(wItemAs, outWriter); }
@Test public void testGetAutoWorkQueueUserAnalysis() { String containerName = "myContainer"; String testrigName = "myTestrig"; _manager.initNetwork(containerName, null); // user policy _manager.configureAnalysis( containerName, true, "useranalysis", Maps.newHashMap(), Lists.newArrayList(), false); WorkItem parseWorkItem = WorkItemBuilder.getWorkItemParse(containerName, testrigName); WorkItem analysisWorkItem = WorkItemBuilder.getWorkItemRunAnalysis( "useranalysis", containerName, testrigName, null, false, false); List<WorkItem> workQueue = _manager.getAutoWorkQueue(containerName, testrigName); assertThat(workQueue, hasSize(2)); // checking that the first work item is for parse assertThat(workQueue.get(0).matches(parseWorkItem), equalTo(true)); // checking run analysis workitem assertThat( "Work Queue not correct for user analyses", workQueue.get(1).matches(analysisWorkItem), equalTo(true)); }
@Test public void testGetAutoWorkQueueSuggestedAnalysis() { String containerName = "myContainer"; String testrigName = "myTestrig"; _manager.initNetwork(containerName, null); // user policy _manager.configureAnalysis( containerName, true, "suggestedanalysis", Maps.newHashMap(), Lists.newArrayList(), true); WorkItem parseWorkItem = WorkItemBuilder.getWorkItemParse(containerName, testrigName); WorkItem analysisWorkItem = WorkItemBuilder.getWorkItemRunAnalysis( "suggestedanalysis", containerName, testrigName, null, false, false); List<WorkItem> workQueue = _manager.getAutoWorkQueue(containerName, testrigName); assertThat(workQueue, hasSize(2)); // checking that the first work item is for parse assertThat(workQueue.get(0).matches(parseWorkItem), equalTo(true)); // checking run analysis workitem assertThat( "Work Queue not correct for suggested analyses", workQueue.get(1).matches(analysisWorkItem), equalTo(true)); }