* gnu/packages/patches/mariadb-client-test-32bit.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/databases.scm (mariadb)[source](patches): Add it. [arguments]: Increase retry count and test timeout. Disable test main.myisampack.
		
			
				
	
	
		
			37 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 93efa48a7b972fc463406603574a4d508eefe792 Mon Sep 17 00:00:00 2001
 | |
| From: Sergei Golubchik <serg@mariadb.org>
 | |
| Date: Sun, 13 May 2018 18:50:21 +0200
 | |
| Subject: [PATCH] fix failing main.mysql_client_test test on 32bit
 | |
| 
 | |
| in `ulonglong=ulong*uint` multiplication
 | |
| is done in ulong, wrapping around on 32bit.
 | |
| 
 | |
| This became visible after C/C changed the
 | |
| default charset to utf8, thus changing
 | |
| mbmaxlem from 1 to 3.
 | |
| ---
 | |
|  tests/mysql_client_fw.c | 4 ++--
 | |
|  1 file changed, 2 insertions(+), 2 deletions(-)
 | |
| 
 | |
| diff --git a/tests/mysql_client_fw.c b/tests/mysql_client_fw.c
 | |
| index f69eb28a2871..4d036887629a 100644
 | |
| --- a/tests/mysql_client_fw.c
 | |
| +++ b/tests/mysql_client_fw.c
 | |
| @@ -768,7 +768,7 @@ static void do_verify_prepare_field(MYSQL_RES *result,
 | |
|  {
 | |
|    MYSQL_FIELD *field;
 | |
|    CHARSET_INFO *cs;
 | |
| -  ulonglong expected_field_length;
 | |
| +  ulonglong expected_field_length= length;
 | |
|  
 | |
|    if (!(field= mysql_fetch_field_direct(result, no)))
 | |
|    {
 | |
| @@ -777,7 +777,7 @@ static void do_verify_prepare_field(MYSQL_RES *result,
 | |
|    }
 | |
|    cs= get_charset(field->charsetnr, 0);
 | |
|    DIE_UNLESS(cs);
 | |
| -  if ((expected_field_length= length * cs->mbmaxlen) > UINT_MAX32)
 | |
| +  if ((expected_field_length*= cs->mbmaxlen) > UINT_MAX32)
 | |
|      expected_field_length= UINT_MAX32;
 | |
|    if (!opt_silent)
 | |
|    {
 |