mirror of
https://github.com/samba-team/samba.git
synced 2025-07-30 19:42:05 +03:00
s4: tests: Added local.charset test for Bug 10716 - smbd constantly crashes when filename contains non-ascii character
https://bugzilla.samba.org/show_bug.cgi?id=10716 Signed-off-by: Jeremy Allison <jra@samba.org>
This commit is contained in:
@ -50,12 +50,18 @@ static bool test_codepoint_cmpi(struct torture_context *tctx)
|
||||
|
||||
static bool test_strcasecmp_m(struct torture_context *tctx)
|
||||
{
|
||||
/* file.{accented e} in iso8859-1 */
|
||||
const char file_iso8859_1[7] = { 0x66, 0x69, 0x6c, 0x65, 0x2d, 0xe9, 0 };
|
||||
/* file.{accented e} in utf8 */
|
||||
const char file_utf8[8] = { 0x66, 0x69, 0x6c, 0x65, 0x2d, 0xc3, 0xa9, 0 };
|
||||
torture_assert(tctx, strcasecmp_m("foo", "bar") != 0, "different strings");
|
||||
torture_assert(tctx, strcasecmp_m("foo", "foo") == 0, "same case strings");
|
||||
torture_assert(tctx, strcasecmp_m("foo", "Foo") == 0, "different case strings");
|
||||
torture_assert(tctx, strcasecmp_m(NULL, "Foo") != 0, "one NULL");
|
||||
torture_assert(tctx, strcasecmp_m("foo", NULL) != 0, "other NULL");
|
||||
torture_assert(tctx, strcasecmp_m(NULL, NULL) == 0, "both NULL");
|
||||
torture_assert(tctx, strcasecmp_m(file_iso8859_1, file_utf8) != 0,
|
||||
"file.{accented e} should differ");
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -102,6 +108,10 @@ static bool test_string_replace_m(struct torture_context *tctx)
|
||||
|
||||
static bool test_strncasecmp_m(struct torture_context *tctx)
|
||||
{
|
||||
/* file.{accented e} in iso8859-1 */
|
||||
const char file_iso8859_1[7] = { 0x66, 0x69, 0x6c, 0x65, 0x2d, 0xe9, 0 };
|
||||
/* file.{accented e} in utf8 */
|
||||
const char file_utf8[8] = { 0x66, 0x69, 0x6c, 0x65, 0x2d, 0xc3, 0xa9, 0 };
|
||||
torture_assert(tctx, strncasecmp_m("foo", "bar", 3) != 0, "different strings");
|
||||
torture_assert(tctx, strncasecmp_m("foo", "foo", 3) == 0, "same case strings");
|
||||
torture_assert(tctx, strncasecmp_m("foo", "Foo", 3) == 0, "different case strings");
|
||||
@ -111,6 +121,8 @@ static bool test_strncasecmp_m(struct torture_context *tctx)
|
||||
torture_assert(tctx, strncasecmp_m(NULL, "Foo", 3) != 0, "one NULL");
|
||||
torture_assert(tctx, strncasecmp_m("foo", NULL, 3) != 0, "other NULL");
|
||||
torture_assert(tctx, strncasecmp_m(NULL, NULL, 3) == 0, "both NULL");
|
||||
torture_assert(tctx, strncasecmp_m(file_iso8859_1, file_utf8, 6) != 0,
|
||||
"file.{accented e} should differ");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user