def test_nimrod(self): nimrod = Nimrod(self.java, self.maven) results = nimrod.run(calculator_project_dir(), calculator_mutants_dir(), 'br.ufal.ic.easy.operations.Sum', randoop_params=['--time-limit=1'], evosuite_params=['-Dsearch_budget=1']) self.assertEqual(True, results['AOI_1'].maybe_equivalent) self.assertEqual(False, results['AOI_1'].not_equivalent) self.assertTrue(len(results['AOI_1'].coverage.call_points) > 0) self.assertTrue(len(results['AOI_1'].coverage.test_cases) > 0) self.assertTrue(results['AOI_1'].coverage.executions > 0) self.assertEqual(False, results['AOR_1'].maybe_equivalent) self.assertEqual(True, results['AOR_1'].not_equivalent) self.assertTrue(len(results['AOR_1'].coverage.call_points) > 0) self.assertTrue(len(results['AOR_1'].coverage.test_cases) > 0) self.assertTrue(results['AOR_1'].coverage.executions > 0) self.assertEqual(False, results['AOR_2'].maybe_equivalent) self.assertEqual(True, results['AOR_2'].not_equivalent) self.assertTrue(len(results['AOR_2'].coverage.call_points) > 0) self.assertTrue(len(results['AOR_2'].coverage.test_cases) > 0) self.assertTrue(results['AOR_2'].coverage.executions > 0) shutil.rmtree(os.path.join(calculator_project_dir(), 'nimrod_output'))
def test_nimrod_with_output_dir(self): nimrod = Nimrod(self.java, self.maven) output_dir = os.path.join(calculator_project_dir(), 'nimrod_output_2') results = nimrod.run(calculator_project_dir(), calculator_mutants_dir(), 'br.ufal.ic.easy.operations.Sum', randoop_params=['--time-limit=1'], evosuite_params=['-Dsearch_budget=1'], output_dir=output_dir) shutil.rmtree(output_dir) self.assertEqual(3, len(results))
def setUpClass(cls): cls.java_home = get_config()['java_home'] cls.maven_home = get_config()['maven_home'] cls.java = Java(cls.java_home) cls.maven = Maven(cls.java, cls.maven_home) cls.maven.compile(calculator_project_dir(), 10) cls.classpath = os.path.join(calculator_target_dir(), 'classes') cls.tests_src = os.path.join(calculator_project_dir(), 'randoop') cls.sut_class = 'br.ufal.ic.easy.operations.Sum' (cls.suite_name, cls.suite_dir, cls.suite_classes_dir, cls.suite_classes) = cls.generate_suite(cls.java, cls.tests_src, cls.sut_class)
def test_generate_with_impact_analysis(self): tests_src = os.path.join(calculator_project_dir(), 'randoop') classes_dir = os.path.join(calculator_target_dir(), 'classes') randoop = Randoop(java=self.java, classpath=classes_dir, tests_src=tests_src, sut_class='br.ufal.ic.easy.operations.Sum', sut_classes=['br.ufal.ic.easy.operations.Sum']) randoop.parameters = [ '--time-limit=1', '--testclass=br.ufal.ic.easy.operations.Sum' ] safira = Safira(self.java, classes_dir, calculator_src_aor_1()) (suite_name, suite_dir, suite_classes_dir, suite_classes) = randoop.generate_with_impact_analysis(safira) self.assertTrue(suite_name.startswith('randoop')) self.assertTrue(os.path.exists(suite_dir)) self.assertTrue(len(get_java_files(suite_dir)) > 1) self.assertTrue(len(get_class_files(suite_classes_dir)) > 1) self.assertEquals(2, len(suite_classes)) shutil.rmtree(tests_src)
def test_generate_differential(self): tests_src = os.path.join(calculator_project_dir(), 'evosuite') evosuite = Evosuite(java=self.java, classpath=os.path.join(calculator_target_dir(), 'classes'), tests_src=tests_src, sut_class='br.ufal.ic.easy.operations.Sum', params=['-Dsearch_budget=1']) mutants = MuJava(java=self.java, mutants_dir=calculator_mutants_dir()).read_log() (suite_name, suite_dir, suite_classes_dir, suite_classes) = evosuite.generate_differential(mutants[1].dir) self.assertTrue(suite_name.startswith('evosuite')) self.assertTrue(os.path.exists(suite_dir)) self.assertTrue(len(get_java_files(suite_dir)) > 1) self.assertTrue(len(get_class_files(suite_classes_dir)) > 1) self.assertEquals(1, len(suite_classes)) shutil.rmtree(tests_src)
def setUp(self): self.java_home = get_config()['java_home'] self.maven_home = get_config()['maven_home'] self.java = Java(self.java_home) self.maven = Maven(self.java, self.maven_home) self.maven.compile(calculator_project_dir(), 10)
def test_compile_in_maven_project_dir(self): project_dir = os.path.join(calculator_project_dir(), '..', 'example') calculator_clean_project() maven = Maven(java=self.java, maven_home=self.maven_home) maven.compile(project_dir, timeout=10) self.assertTrue(os.path.exists(os.path.join(project_dir, 'target'))) calculator_clean_project()
def test_get_java_files(self): classes = get_java_files( os.path.join(calculator_project_dir(), 'src', 'main', 'java')) self.assertEqual(6, len(classes)) self.assertTrue('br/ufal/ic/easy/Calculator.java' in classes) self.assertTrue('br/ufal/ic/easy/operations/Sum.java' in classes) self.assertTrue('br/ufal/ic/easy/operations/Div.java' in classes) self.assertTrue('br/ufal/ic/easy/operations/Operation.java' in classes) self.assertTrue('br/ufal/ic/easy/operations/Sub.java' in classes) self.assertTrue('br/ufal/ic/easy/operations/Mul.java' in classes)
def test_generate(self): tests_src = os.path.join(calculator_project_dir(), 'randoop') randoop = Randoop(java=self.java, classpath=os.path.join(calculator_target_dir(), 'classes'), tests_src=tests_src, sut_class='br.ufal.ic.easy.operations.Sum') randoop.parameters = ['--time-limit=1'] (suite_name, suite_dir, suite_classes_dir, suite_classes) = randoop.generate() self.assertTrue(suite_name.startswith('randoop')) self.assertTrue(os.path.exists(suite_dir)) self.assertTrue(len(get_java_files(suite_dir)) > 1) self.assertTrue(len(get_class_files(suite_classes_dir)) > 1) self.assertEquals(1, len(suite_classes))
def tearDownClass(cls): shutil.rmtree(os.path.join(calculator_project_dir(), 'randoop')) calculator_clean_project()
def setUp(self): self.java = Java(get_config()['java_home']) self.tests_src = os.path.join(calculator_project_dir(), 'test_tool') self.suite_tool = ToolSuiteGenerator(self.java, '', self.tests_src, '')