aboutsummaryrefslogtreecommitdiff
path: root/check-qint.c
diff options
context:
space:
mode:
authorPierre Riteau <Pierre.Riteau@irisa.fr>2009-09-08 11:53:37 +0200
committerAurelien Jarno <aurelien@aurel32.net>2009-09-26 21:26:26 +0200
commit02c068c3ae8ec2954ea03de61d6627c555d88bff (patch)
tree4972354f615d02c1aadf1b91e59e97e49bc8b0a7 /check-qint.c
parente0fed6cca7a5a8583798be758db3896828ced7f8 (diff)
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>
Diffstat (limited to 'check-qint.c')
-rw-r--r--check-qint.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/check-qint.c b/check-qint.c
index ae5d22f7e7..49887bb7d9 100644
--- a/check-qint.c
+++ b/check-qint.c
@@ -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);
}