int main() //@ : main_full(fail_client) //@ requires module(fail_client, true); //@ ensures true; { //@ open_module(); mymodule_init(); mysubmodule_init(); mymodule_set(50); int x = mymodule_get(); //@ assert x == 50; mysubmodule_destroy(); mymodule_destroy(); //@ close_module(); //@ leak module(fail_client, _); return 0; }
TEST(test_mymodule, test_function_mymodule_dostuff_invalid_parameter) { mymodule_init(45); ASSERT_STREQ(mymodule_dostuff(), (const char*)"unknown parameter"); }
TEST(test_mymodule, test_function_mymodule_dostuff_parameter1) { mymodule_init(INT1); ASSERT_STREQ(mymodule_dostuff(), (const char*)"done action 1"); }
TEST(test_mymodule, test_function_mymodule_init_valid_parameter2) { mymodule_init(INT2); ASSERT_EQ(mymodule_state(), (int)INT2); }
TEST(test_mymodule, test_function_mymodule_init_invalid_parameter) { mymodule_init(-1); ASSERT_NEQ(mymodule_state(), (int)-1); }
/** * example failing test. to run: * greenlight --sources=../module.c,./test_failure.cpp --includes=../ */ TEST(test_mymodule, test_function_mymodule_dostuff_invalid_parameter) { mymodule_init(45); ASSERT_STREQ(mymodule_dostuff(), (const char*)"test is meant to fail"); }