Search in sources :

Example 11 with JobDefinition

use of org.evosuite.continuous.job.JobDefinition in project evosuite by EvoSuite.

the class ScheduleType method createScheduleForWhenNotEnoughBudget.

/**
 * if there is not enough search budget, then try
 * to target as many CUTs as possible
 * @return
 */
protected List<JobDefinition> createScheduleForWhenNotEnoughBudget() {
    ProjectStaticData data = scheduler.getProjectData();
    int totalBudget = 60 * scheduler.getConfiguration().timeInMinutes * scheduler.getConfiguration().getNumberOfUsableCores();
    List<JobDefinition> jobs = new LinkedList<JobDefinition>();
    // not enough budget
    for (ClassInfo info : data.getClassInfos()) {
        if (!info.isTestable()) {
            continue;
        }
        JobDefinition job = new JobDefinition(60 * scheduler.getConfiguration().minMinutesPerJob, scheduler.getConfiguration().getConstantMemoryPerJob(), info.getClassName(), 0, null, null);
        jobs.add(job);
        totalBudget -= (60 * scheduler.getConfiguration().minMinutesPerJob);
        if (totalBudget <= 0) {
            break;
        }
    }
    return jobs;
}
Also used : ProjectStaticData(org.evosuite.continuous.project.ProjectStaticData) JobDefinition(org.evosuite.continuous.job.JobDefinition) LinkedList(java.util.LinkedList) ClassInfo(org.evosuite.continuous.project.ProjectStaticData.ClassInfo)

Aggregations

JobDefinition (org.evosuite.continuous.job.JobDefinition)11 LinkedList (java.util.LinkedList)5 ProjectStaticData (org.evosuite.continuous.project.ProjectStaticData)5 HashSet (java.util.HashSet)4 ClassInfo (org.evosuite.continuous.project.ProjectStaticData.ClassInfo)4 ArrayList (java.util.ArrayList)3 Test (org.junit.Test)3 IOException (java.io.IOException)1 Iterator (java.util.Iterator)1 LinkedHashSet (java.util.LinkedHashSet)1 JobExecutor (org.evosuite.continuous.job.JobExecutor)1 JobScheduler (org.evosuite.continuous.job.JobScheduler)1 StorageManager (org.evosuite.continuous.persistency.StorageManager)1 ProjectAnalyzer (org.evosuite.continuous.project.ProjectAnalyzer)1