Exemple #1
0
    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)
Exemple #3
0
    def _test_classes(self):
        classes = []

        for class_file in sorted(get_class_files(self.suite_classes_dir)):
            filename, _ = os.path.splitext(class_file)
            if not filename.endswith('_scaffolding'):
                classes.append(filename.replace(os.sep, '.'))

        return classes
    def test_get_class_files(self):
        classes = get_class_files(calculator_target_dir())

        self.assertEqual(6, len(classes))
        self.assertTrue('classes/br/ufal/ic/easy/Calculator.class' in classes)
        self.assertTrue(
            'classes/br/ufal/ic/easy/operations/Sum.class' in classes)
        self.assertTrue(
            'classes/br/ufal/ic/easy/operations/Operation.class' in classes)
        self.assertTrue(
            'classes/br/ufal/ic/easy/operations/Div.class' in classes)
        self.assertTrue(
            'classes/br/ufal/ic/easy/operations/Sub.class' in classes)
        self.assertTrue(
            'classes/br/ufal/ic/easy/operations/Mul.class' 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))
Exemple #6
0
 def _clean_class_files(directory):
     for file in get_class_files(directory):
         os.remove(os.path.join(directory, file))