Message ID | 1252403617-30464-1-git-send-email-Pierre.Riteau@irisa.fr |
---|---|
State | Superseded |
Headers | show |
On Tue, 8 Sep 2009 11:53:37 +0200 Pierre Riteau <Pierre.Riteau@irisa.fr> wrote: > 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> Seems good to me. Acked-by: Luiz Capitulino <lcapitulino@redhat.com>
diff --git a/check-qint.c b/check-qint.c index ae5d22f..49887bb 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); }
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> --- check-qint.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)