Fix and improve qint_from_int64_test
Use a long long integer constant to fix a compilation error (integer constant is too large for 'long' type). Use a better value for testing, as -1 makes the test pass even if qi->value is of type uint32_t, float or double. This was suggested by Reimar Döffinger <Reimar.Doeffinger@gmx.de>. Also, make the test fail when qi->value is of type double or float by casting qi->value to int64_t, to avoid value being promoted to the type of qi->value. Signed-off-by: Pierre Riteau <Pierre.Riteau@irisa.fr> Acked-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
e0fed6cca7
commit
02c068c3ae
@ -43,10 +43,10 @@ END_TEST
|
||||
START_TEST(qint_from_int64_test)
|
||||
{
|
||||
QInt *qi;
|
||||
const int64_t value = 0xffffffffffffffff;
|
||||
const int64_t value = 0x1234567890abcdefLL;
|
||||
|
||||
qi = qint_from_int(value);
|
||||
fail_unless(qi->value == value);
|
||||
fail_unless((int64_t) qi->value == value);
|
||||
|
||||
QDECREF(qi);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user