From 3891b5d6b7d6054485150b6fe9d0fd3f8767402e Mon Sep 17 00:00:00 2001 From: fvogel Date: Wed, 23 Aug 2017 21:09:29 +0000 Subject: Fix [cc42cc18a5]: Prevent the test suite from crashing when running tests imgPhoto-18.* in case the host machine runs out of memory and the memory allocation error is not returned (e.g. on FreeBSD 11.1) --- tests/corruptMangled.gif | Bin 64 -> 64 bytes tests/imgPhoto.test | 26 +++++++++++++++++++++----- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/tests/corruptMangled.gif b/tests/corruptMangled.gif index ce043f0..9c1637c 100644 Binary files a/tests/corruptMangled.gif and b/tests/corruptMangled.gif differ diff --git a/tests/imgPhoto.test b/tests/imgPhoto.test index 90aec24..cf25d6a 100644 --- a/tests/imgPhoto.test +++ b/tests/imgPhoto.test @@ -740,7 +740,7 @@ test imgPhoto-18.1 {Reject corrupted GIF (binary string)} -constraints { } -setup { package require base64 set data [base64::decode { - R0lGODlhwjMz//8zM/8z/zP/MzP/////M////yH5CiwheLrcLTBCd6Tv2qW16tdK4jhV + R0lGODlhAAQABP8zM/8z/zP/MzP/////M////yH5CiwheLrcLTBCd6Tv2qW16tdK4jhV 5qpraXIvM1JlNyAgOw== }] } -body { @@ -750,7 +750,7 @@ test imgPhoto-18.1 {Reject corrupted GIF (binary string)} -constraints { } -returnCodes error -result {error reading color map|not enough free memory for image buffer} -match regexp test imgPhoto-18.2 {Reject corrupted GIF (base 64 string)} -setup { set data { - R0lGODlhwjMz//8zM/8z/zP/MzP/////M////yH5CiwheLrcLTBCd6Tv2qW16tdK4jhV + R0lGODlhAAQABP8zM/8z/zP/MzP/////M////yH5CiwheLrcLTBCd6Tv2qW16tdK4jhV 5qpraXIvM1JlNyAgOw== } } -body { @@ -794,8 +794,12 @@ test imgPhoto-18.6 {Reject truncated GIF (file)} -setup { catch {image delete gif1} } -returnCodes error -result {error reading color map} test imgPhoto-18.7 {Reject corrupted GIF (> 4Gb) (binary string)} -constraints { - base64PackageNeeded + base64PackageNeeded nonPortable } -setup { + # About the non portability constraint of this test: see ticket [cc42cc18a5] + # If there is insufficient memory, the error message + # {not enough free memory for image buffer} should be returned. + # Instead, some systems (e.g. FreeBSD 11.1) terminate the test interpreter. package require base64 set data [base64::decode { R0lGODlhwmYz//8zM/8z/zP/MzP/////M////yH5Ciwhe @@ -806,7 +810,13 @@ test imgPhoto-18.7 {Reject corrupted GIF (> 4Gb) (binary string)} -constraints { } -cleanup { catch {image delete gif1} } -returnCodes error -result {error reading color map|not enough free memory for image buffer} -match regexp -test imgPhoto-18.8 {Reject corrupted GIF (> 4Gb) (base 64 string)} -setup { +test imgPhoto-18.8 {Reject corrupted GIF (> 4Gb) (base 64 string)} -constraints { + nonPortable +} -setup { + # About the non portability constraint of this test: see ticket [cc42cc18a5] + # If there is insufficient memory, the error message + # {not enough free memory for image buffer} should be returned. + # Instead, some systems (e.g. FreeBSD 11.1) terminate the test interpreter. set data { R0lGODlhwmYz//8zM/8z/zP/MzP/////M////yH5Ciwhe LrcLTBCd6Tv2qW16tdK4jhV5qpraXIvM1JlNyAgOw== @@ -816,7 +826,13 @@ test imgPhoto-18.8 {Reject corrupted GIF (> 4Gb) (base 64 string)} -setup { } -cleanup { catch {image delete gif1} } -returnCodes error -result {error reading color map|not enough free memory for image buffer} -match regexp -test imgPhoto-18.9 {Reject corrupted GIF (> 4Gb) (file)} -setup { +test imgPhoto-18.9 {Reject corrupted GIF (> 4Gb) (file)} -constraints { + nonPortable +} -setup { + # About the non portability constraint of this test: see ticket [cc42cc18a5] + # If there is insufficient memory, the error message + # {not enough free memory for image buffer} should be returned. + # Instead, some systems (e.g. FreeBSD 11.1) terminate the test interpreter. set fileName [file join [file dirname [info script]] corruptMangled4G.gif] } -body { image create photo gif1 -file $fileName -- cgit v0.12