@@ -58,6 +58,38 @@ TEST(TemplateGeneratorTestGroup, Basic_InputParse) {
58
58
CHECK (buildcc::env::get_task_state () == buildcc::env::TaskState::SUCCESS);
59
59
}
60
60
61
+ TEST (TemplateGeneratorTestGroup, Basic_SaveFailure) {
62
+ constexpr const char *const NAME = " basic_save_failure" ;
63
+ {
64
+ buildcc::TemplateGenerator generator (NAME, " " );
65
+
66
+ fs::create_directories (generator.GetBuildDir () / " default_values.txt" );
67
+
68
+ generator.AddTemplate (" {gen_root_dir}/template/default_values.txt.in" ,
69
+ " {gen_build_dir}/default_values.txt" );
70
+ generator.Build ();
71
+
72
+ buildcc::m::CustomGeneratorRunner (generator);
73
+ CHECK (buildcc::env::get_task_state () == buildcc::env::TaskState::FAILURE);
74
+ }
75
+ }
76
+
77
+ TEST (TemplateGeneratorTestGroup, Basic_LoadFailure) {
78
+ constexpr const char *const NAME = " basic_load_failure" ;
79
+ {
80
+ buildcc::TemplateGenerator generator (NAME, " " );
81
+
82
+ fs::create_directories (generator.GetBuildDir () / " default_values.txt.in" );
83
+
84
+ generator.AddTemplate (" {gen_build_dir}/default_values.txt.in" ,
85
+ " {gen_build_dir}/default_values.txt" );
86
+ generator.Build ();
87
+
88
+ buildcc::m::CustomGeneratorRunner (generator);
89
+ CHECK (buildcc::env::get_task_state () == buildcc::env::TaskState::FAILURE);
90
+ }
91
+ }
92
+
61
93
int main (int ac, char **av) {
62
94
fs::remove_all (BUILD_DIR);
63
95
buildcc::Project::Init (fs::current_path () / " data" , BUILD_DIR);
0 commit comments