mirror of
https://github.com/samba-team/samba.git
synced 2025-01-03 01:18:10 +03:00
torture:charset: use < and > assertions for strncasecmp_m
strncasecmp_m is supposed to return a negative, zero, or positive number, not necessarily the difference between the codepoints in the first character that differs, which we have been asserting up to now. This fixes a knownfail on 32 bit. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15625 Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
parent
ac0a8cd92c
commit
dda0bb6fc7
@ -151,19 +151,19 @@ static bool test_strncasecmp_m(struct torture_context *tctx)
|
|||||||
const char file_iso8859_1[7] = { 0x66, 0x69, 0x6c, 0x65, 0x2d, 0xe9, 0 };
|
const char file_iso8859_1[7] = { 0x66, 0x69, 0x6c, 0x65, 0x2d, 0xe9, 0 };
|
||||||
/* file.{accented e} in utf8 */
|
/* file.{accented e} in utf8 */
|
||||||
const char file_utf8[8] = { 0x66, 0x69, 0x6c, 0x65, 0x2d, 0xc3, 0xa9, 0 };
|
const char file_utf8[8] = { 0x66, 0x69, 0x6c, 0x65, 0x2d, 0xc3, 0xa9, 0 };
|
||||||
torture_assert_int_equal(tctx, strncasecmp_m("foo", "bar", 3), 4, "different strings both lower");
|
torture_assert_int_greater(tctx, strncasecmp_m("foo", "bar", 3), 0, "different strings both lower");
|
||||||
torture_assert_int_equal(tctx, strncasecmp_m("foo", "Bar", 3), 4, "different strings lower/upper");
|
torture_assert_int_greater(tctx, strncasecmp_m("foo", "Bar", 3), 0, "different strings lower/upper");
|
||||||
torture_assert_int_equal(tctx, strncasecmp_m("Foo", "bar", 3), 4, "different strings upper/lower");
|
torture_assert_int_greater(tctx, strncasecmp_m("Foo", "bar", 3), 0, "different strings upper/lower");
|
||||||
torture_assert_int_equal(tctx, strncasecmp_m("AFoo", "_bar", 4), 2, "different strings upper/lower");
|
torture_assert_int_greater(tctx, strncasecmp_m("AFoo", "_bar", 4), 0, "different strings upper/lower");
|
||||||
torture_assert_int_equal(tctx, strncasecmp_m("foo", "foo", 3), 0, "same case strings");
|
torture_assert_int_equal(tctx, strncasecmp_m("foo", "foo", 3), 0, "same case strings");
|
||||||
torture_assert_int_equal(tctx, strncasecmp_m("foo", "Foo", 3), 0, "different case strings");
|
torture_assert_int_equal(tctx, strncasecmp_m("foo", "Foo", 3), 0, "different case strings");
|
||||||
torture_assert_int_equal(tctx, strncasecmp_m("fool", "Foo", 3),0, "different case strings");
|
torture_assert_int_equal(tctx, strncasecmp_m("fool", "Foo", 3),0, "different case strings");
|
||||||
torture_assert_int_equal(tctx, strncasecmp_m("fool", "Fool", 40), 0, "over size");
|
torture_assert_int_equal(tctx, strncasecmp_m("fool", "Fool", 40), 0, "over size");
|
||||||
torture_assert_int_equal(tctx, strncasecmp_m("BLA", "Fool", 0),0, "empty");
|
torture_assert_int_equal(tctx, strncasecmp_m("BLA", "Fool", 0),0, "empty");
|
||||||
torture_assert_int_equal(tctx, strncasecmp_m(NULL, "Foo", 3), -1, "one NULL");
|
torture_assert_int_less(tctx, strncasecmp_m(NULL, "Foo", 3), 0, "one NULL");
|
||||||
torture_assert_int_equal(tctx, strncasecmp_m("foo", NULL, 3), 1, "other NULL");
|
torture_assert_int_greater(tctx, strncasecmp_m("foo", NULL, 3), 0, "other NULL");
|
||||||
torture_assert_int_equal(tctx, strncasecmp_m(NULL, NULL, 3), 0, "both NULL");
|
torture_assert_int_equal(tctx, strncasecmp_m(NULL, NULL, 3), 0, "both NULL");
|
||||||
torture_assert_int_equal(tctx, strncasecmp_m(file_iso8859_1, file_utf8, 6), 38,
|
torture_assert_int_greater(tctx, strncasecmp_m(file_iso8859_1, file_utf8, 6), 0,
|
||||||
"file.{accented e} should differ");
|
"file.{accented e} should differ");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -67,9 +67,6 @@
|
|||||||
# REASON: Exception: Exception: ../../lib/util/charset/tests/charset.c:56: strcasecmp("foo", "bar") was 1 (0x1), expected 4 (0x4): different strings both lower
|
# REASON: Exception: Exception: ../../lib/util/charset/tests/charset.c:56: strcasecmp("foo", "bar") was 1 (0x1), expected 4 (0x4): different strings both lower
|
||||||
# UNEXPECTED(failure): samba4.local.charset.strncasecmp(none)
|
# UNEXPECTED(failure): samba4.local.charset.strncasecmp(none)
|
||||||
# REASON: Exception: Exception: ../../lib/util/charset/tests/charset.c:132: strncasecmp("foo", "bar", 3) was 1 (0x1), expected 4 (0x4): different strings both lower
|
# REASON: Exception: Exception: ../../lib/util/charset/tests/charset.c:132: strncasecmp("foo", "bar", 3) was 1 (0x1), expected 4 (0x4): different strings both lower
|
||||||
# UNEXPECTED(failure): samba4.local.charset.strncasecmp_m(none)
|
|
||||||
# REASON: Exception: Exception: ../../lib/util/charset/tests/charset.c:167: strncasecmp_m(file_iso8859_1, file_utf8, 6) was 1 (0x1), expected 38 (0x26): file.{accent
|
|
||||||
# ed e} should differ
|
|
||||||
# command: /home/samba/samba.git/bin/smbtorture $LOADLIST --configfile=$SMB_CONF_PATH --option='fss:sequence timeout=1' --maximum-runtime=$SELFTEST_MAXTIME --based
|
# command: /home/samba/samba.git/bin/smbtorture $LOADLIST --configfile=$SMB_CONF_PATH --option='fss:sequence timeout=1' --maximum-runtime=$SELFTEST_MAXTIME --based
|
||||||
# ir=$SELFTEST_TMPDIR --format=subunit --option=torture:progress=no --target=samba4 ncalrpc:localhost local.charset 2>&1 | python3 /home/samba/samba.git/selftest/fi
|
# ir=$SELFTEST_TMPDIR --format=subunit --option=torture:progress=no --target=samba4 ncalrpc:localhost local.charset 2>&1 | python3 /home/samba/samba.git/selftest/fi
|
||||||
# lter-subunit --fail-on-empty --prefix="samba4.local.charset." --suffix="(none)"
|
# lter-subunit --fail-on-empty --prefix="samba4.local.charset." --suffix="(none)"
|
||||||
@ -80,7 +77,6 @@
|
|||||||
# REASON: Exit code was 1
|
# REASON: Exit code was 1
|
||||||
^samba4.local.charset.strcasecmp.none
|
^samba4.local.charset.strcasecmp.none
|
||||||
^samba4.local.charset.strncasecmp.none
|
^samba4.local.charset.strncasecmp.none
|
||||||
^samba4.local.charset.strncasecmp_m.none
|
|
||||||
#
|
#
|
||||||
# [229(2702)/261 at 8m44s, 5 errors] samba.tests.samba_tool.provision_lmdb_size
|
# [229(2702)/261 at 8m44s, 5 errors] samba.tests.samba_tool.provision_lmdb_size
|
||||||
# UNEXPECTED(failure): samba.tests.samba_tool.provision_lmdb_size.samba.tests.samba_tool.provision_lmdb_size.ProvisionLmdbSizeTestCase.test_134217728b(none)
|
# UNEXPECTED(failure): samba.tests.samba_tool.provision_lmdb_size.samba.tests.samba_tool.provision_lmdb_size.ProvisionLmdbSizeTestCase.test_134217728b(none)
|
||||||
|
Loading…
Reference in New Issue
Block a user