17 std::vector<std::vector<std::string>> test_cases;
18 std::vector<std::string> param_names;
19 std::string function_name;
20 mutable std::mutex data_mutex;
23 bool values_only =
false;
26 std::string clean_variable_name(
const std::string &name)
const;
31 const std::string &module_name,
32 const std::string &func_name,
33 const std::vector<std::string> ¶m_names,
34 const std::vector<std::vector<std::string>> &test_data)
const;
39 const std::vector<std::string> ¶m_names,
40 const std::vector<std::vector<std::string>> &test_data)
const;
43 std::string extract_function_name(
48 std::string convert_float_to_python(
const std::string &c_float)
const;
51 std::string escape_python_string(
const std::string &str)
const;
54 std::string convert_array_to_python_list(
const expr2tc &array_expr)
const;
57 std::string convert_struct_to_python_dict(
const expr2tc &struct_expr)
const;
60 bool is_char_array(
const expr2tc &array_expr)
const;
63 std::string convert_char_array_to_string(
const expr2tc &array_expr)
const;
66 void write_file_header(std::ofstream &file,
const std::string &original_file)
70 void write_imports(std::ofstream &file,
const std::string &module_name)
const;
73 static std::string build_param_list(
const std::vector<std::string> ¶ms);
76 static std::string fingerprint(
const std::vector<std::string> &test_case);
81 const std::vector<std::string> ¶m_names,
82 const std::vector<std::vector<std::string>> &test_data)
const;
85 void write_test_function(
87 const std::string &func_name,
88 const std::vector<std::string> ¶m_names)
const;
115 generate(
const std::string &output_dir,
const std::string &file_name)
const;
122 values_only = enabled;
126 const std::string &output_dir,
127 const std::string &file_name,
void generate(const std::string &output_dir, const std::string &file_name) const
Generate pytest file from collected data (called at end of coverage mode).
Definition pytest.cpp:1175
void collect(const symex_target_equationt &target, smt_convt &smt_conv)
Collect test data from a counterexample (called for each CEX in coverage mode).
Definition pytest.cpp:727
void generate_single(const std::string &output_dir, const std::string &file_name, const symex_target_equationt &target, smt_convt &smt_conv, const namespacet &ns)
Definition pytest.cpp:1237