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