From 0759647f06b8041a4490f82175af030d2082609c Mon Sep 17 00:00:00 2001 From: Nobuhiro Iwamatsu Date: Thu, 10 May 2018 12:52:42 +0900 Subject: Fix test of mruby-pack with big-endian CPUs When running the mruby-pack test with big endian, test data is incorrect, so it will fail with "i" and "I". ------ Fail: pack/unpack "i" (mrbgems: mruby-pack) - Assertion[1] Failed: Expected to be equal Expected: "\xff\xff\xc7\xcf" Actual: "\xff\xff\xcf\xc7" - Assertion[2] Failed: Expected to be equal Expected: [-12345] Actual: [-14385] Fail: pack/unpack "I" (mrbgems: mruby-pack) - Assertion[1] Failed: Expected to be equal Expected: "\x00\x0090" Actual: "\x00\x0009" - Assertion[2] Failed: Expected to be equal Expected: [12345] Actual: [14640] ------ This will fix the test data at big-endian. Signed-off-by: Nobuhiro Iwamatsu --- mrbgems/mruby-pack/test/pack.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mrbgems/mruby-pack/test/pack.rb b/mrbgems/mruby-pack/test/pack.rb index f518ca4fa..1788c2b72 100644 --- a/mrbgems/mruby-pack/test/pack.rb +++ b/mrbgems/mruby-pack/test/pack.rb @@ -129,7 +129,7 @@ assert 'pack/unpack "i"' do if PACK_IS_LITTLE_ENDIAN str = "\xC7\xCF" + "\xFF" * (int_size-2) else - str = "\xFF" * (int_size-2) + "\xC7\xCF" + str = "\xFF" * (int_size-2) + "\xCF\xC7" end assert_pack 'i', str, [-12345] end @@ -141,7 +141,7 @@ assert 'pack/unpack "I"' do if PACK_IS_LITTLE_ENDIAN str = "\x39\x30" + "\0" * (uint_size-2) else - str = "\0" * (uint_size-2) + "\x39\x30" + str = "\0" * (uint_size-2) + "\x30\x39" end assert_pack 'I', str, [12345] end -- cgit v1.2.3