1 #include <gtest/gtest.h>
4 #include "utilities/fault_injection.h"
5 #include "utilities/utils.h"
7 std::string fiu_script;
9 TEST(Fiuinfo, PassInfoWithRun) {
10 EXPECT_TRUE(fiu_fail(
"fail"));
11 EXPECT_EQ(fault_injection_last_info(),
"fiurun_failure");
14 Utils::shell(fiu_script +
" ctrl -c 'enable name=fail,failinfo=failure2' " + std::to_string(getpid()),
nullptr);
15 EXPECT_TRUE(fiu_fail(
"fail"));
16 EXPECT_EQ(fault_injection_last_info(),
"failure2");
19 fault_injection_enable(
"fail", 1,
"failure3", 0);
20 EXPECT_TRUE(fiu_fail(
"fail"));
21 EXPECT_EQ(fault_injection_last_info(),
"failure3");
24 EXPECT_FALSE(fiu_fail(
"fail"));
27 TEST(Fiuinfo, PassInfoWithCtrl) {
28 EXPECT_FALSE(fiu_fail(
"failctrl"));
29 Utils::shell(fiu_script +
" ctrl -c 'enable name=failctrl,failinfo=test_ctrl' " + std::to_string(getpid()),
nullptr);
30 EXPECT_TRUE(fiu_fail(
"failctrl"));
32 Utils::shell(fiu_script +
" ctrl -c 'disable name=failctrl' " + std::to_string(getpid()),
nullptr);
33 EXPECT_FALSE(fiu_fail(
"failctrl"));
37 int main(
int argc,
char **argv) {
38 ::testing::InitGoogleTest(&argc, argv);
41 std::cerr <<
"Error: " << argv[0] <<
" requires the path to the fiu wrapper script.\n";
46 return RUN_ALL_TESTS();