Esempio n. 1
0
File: afl.py Progetto: sosy-lab/tbf
 def get_run_env(self):
     env = utils.get_env()
     if 'AFL_PATH' not in env.keys():
         env['AFL_PATH'] = bin_dir
     if 'AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES' not in env.keys():
         env['AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES'] = 'true'
     if 'AFL_SKIP_CPUFREQ' not in env.keys():
         env['AFL_SKIP_CPUFREQ'] = 'true'
     return env
Esempio n. 2
0
    def run(self, program_file, test_case):
        from tbf.tools import klee

        klee_prepared_file = utils.get_prepared_name(program_file, klee.name)
        c_version = 'gnu11'
        if not self.executable:
            compile_cmd = ['gcc']
            compile_cmd += [
                '-std={}'.format(c_version), "-L", klee.lib_dir,
                '-D__alias__(x)=', '-o', self.executable_name,
                klee_prepared_file, '-lkleeRuntest', '-lm'
            ]
            result = utils.execute(compile_cmd)
            if result.returncode != 0:
                c_version = 'gnu90'
                compile_cmd = ['gcc']
                compile_cmd += [
                    '-std={}'.format(c_version), "-L", klee.lib_dir,
                    '-D__alias__(x)=', '-o', self.executable_name,
                    klee_prepared_file, '-lkleeRuntest', '-lm'
                ]
            self.executable = self.executable_name

        if not os.path.exists(self.executable_name):
            return [ERROR]

        curr_env = utils.get_env()
        curr_env['KTEST_FILE'] = test_case.origin

        result = utils.execute([self.executable],
                               env=curr_env,
                               err_to_output=False)

        if utils.found_err(result):
            return [FALSE]
        else:
            return [UNKNOWN]
Esempio n. 3
0
 def get_run_env(self):
     return utils.get_env()
Esempio n. 4
0
File: afl.py Progetto: edmcman/tbf
 def get_run_env(self):
     env = utils.get_env()
     env['AFL_PATH'] = bin_dir
     env['AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES'] = 'true'
     env['AFL_SKIP_CPUFREQ'] = 'true'
     return env