Add three memoryleak tests involving pointer casting that currently 'fail'
This commit is contained in:
parent
46205bde8e
commit
13bcb66c14
|
@ -134,6 +134,10 @@ private:
|
||||||
TEST_CASE( assign );
|
TEST_CASE( assign );
|
||||||
|
|
||||||
// TODO TEST_CASE( varid );
|
// TODO TEST_CASE( varid );
|
||||||
|
|
||||||
|
// TODO TEST_CASE( cast1 );
|
||||||
|
// TODO TEST_CASE( cast2 ); // Doesn't fail but for bad reasons
|
||||||
|
// TODO TEST_CASE( cast3 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1089,6 +1093,37 @@ private:
|
||||||
ASSERT_EQUALS( std::string(""), errout.str() );
|
ASSERT_EQUALS( std::string(""), errout.str() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void cast1()
|
||||||
|
{
|
||||||
|
check( "void foo()\n"
|
||||||
|
"{\n"
|
||||||
|
" char *a = reinterpret_cast<char *>(malloc(10));\n"
|
||||||
|
"}\n" );
|
||||||
|
|
||||||
|
ASSERT_EQUALS( std::string("[test.cpp:4]: Memory leak: a\n"), errout.str() );
|
||||||
|
}
|
||||||
|
|
||||||
|
void cast2()
|
||||||
|
{
|
||||||
|
check( "void foo()\n"
|
||||||
|
"{\n"
|
||||||
|
" char *a = malloc(10);\n"
|
||||||
|
" free((void *)a);\n"
|
||||||
|
"}\n" );
|
||||||
|
|
||||||
|
ASSERT_EQUALS( std::string(""), errout.str() );
|
||||||
|
}
|
||||||
|
|
||||||
|
void cast3()
|
||||||
|
{
|
||||||
|
check( "void foo()\n"
|
||||||
|
"{\n"
|
||||||
|
" char *a = malloc(10);\n"
|
||||||
|
" free(reinterpret_cast<void *>(c));\n"
|
||||||
|
"}\n" );
|
||||||
|
|
||||||
|
ASSERT_EQUALS( std::string(""), errout.str() );
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
REGISTER_TEST( TestMemleak )
|
REGISTER_TEST( TestMemleak )
|
||||||
|
|
Loading…
Reference in New Issue