From 8a32251e661ee90d3f2274bea6fa157239639918 Mon Sep 17 00:00:00 2001 From: Peter Rabbitson Date: Tue, 14 Apr 2020 06:52:43 +0200 Subject: [PATCH 1/2] Do not mangle diagnostics when sorted comparison needed --- test/sharness/t0054-dag-car-import-export.sh | 29 ++++++++++++-------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/test/sharness/t0054-dag-car-import-export.sh b/test/sharness/t0054-dag-car-import-export.sh index c5194c2f2b3..4f7fc3f9288 100755 --- a/test/sharness/t0054-dag-car-import-export.sh +++ b/test/sharness/t0054-dag-car-import-export.sh @@ -11,6 +11,13 @@ set -o pipefail tar -C ../t0054-dag-car-import-export-data/ --strip-components=1 -Jxf ../t0054-dag-car-import-export-data/test_dataset_car_v0.tar.xz tab=$'\t' +test_cmp_sorted() { + # use test_cmp to dump out the unsorted file contents as a diff + [[ "$( sort "$1" | sha256sum )" == "$( sort "$2" | sha256sum )" ]] \ + || test_cmp "$1" "$2" +} +export -f test_cmp_sorted + reset_blockstore() { node=$1 @@ -65,11 +72,11 @@ EOE ../t0054-dag-car-import-export-data/combined_naked_roots_genesis_and_128.car \ ../t0054-dag-car-import-export-data/lotus_testnet_export_128_shuffled_nulroot.car \ ../t0054-dag-car-import-export-data/lotus_devnet_genesis_shuffled_nulroot.car \ - | sort > basic_import_actual + > basic_import_actual ' test_expect_success "basic import output as expected" ' - test_cmp basic_import_expected basic_import_actual + test_cmp_sorted basic_import_expected basic_import_actual ' test_expect_success "basic fetch+export 1" ' @@ -92,11 +99,11 @@ EOE test_expect_success "import/pin naked roots only, relying on local blockstore having all the data" ' ipfsi 1 dag import --enc=json ../t0054-dag-car-import-export-data/combined_naked_roots_genesis_and_128.car \ - | sort > naked_import_result_json_actual + > naked_import_result_json_actual ' test_expect_success "naked import output as expected" ' - test_cmp naked_root_import_json_expected naked_import_result_json_actual + test_cmp_sorted naked_root_import_json_expected naked_import_result_json_actual ' reset_blockstore 0 @@ -114,7 +121,7 @@ EOE pipe_testnet \ pipe_devnet \ ../t0054-dag-car-import-export-data/combined_naked_roots_genesis_and_128.car \ - | sort > basic_fifo_import_actual + > basic_fifo_import_actual result=$? wait @@ -127,7 +134,7 @@ EOE ' test_expect_success "fifo-import output as expected" ' - test_cmp basic_import_expected basic_fifo_import_actual + test_cmp_sorted basic_import_expected basic_fifo_import_actual ' } @@ -158,7 +165,7 @@ test_expect_success "basic offline export of nonexistent cid" ' ! ipfs dag export QmYwAPJXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 2> offline_fetch_error_actual >/dev/null ' test_expect_success "correct error" ' - test_cmp offline_fetch_error_expected offline_fetch_error_actual + test_cmp_sorted offline_fetch_error_expected offline_fetch_error_actual ' @@ -168,10 +175,10 @@ cat >multiroot_import_json_expected < multiroot_import_json_actual + ipfs dag import --enc=json ../t0054-dag-car-import-export-data/lotus_testnet_export_256_multiroot.car > multiroot_import_json_actual ' test_expect_success "multiroot import expected output" ' - test_cmp multiroot_import_json_expected multiroot_import_json_actual + test_cmp_sorted multiroot_import_json_expected multiroot_import_json_actual ' @@ -188,10 +195,10 @@ test_expect_success "expected silence on --pin-roots=false" ' test_expect_success "naked root import works" ' ipfs dag import --enc=json ../t0054-dag-car-import-export-data/combined_naked_roots_genesis_and_128.car \ - | sort > naked_root_import_json_actual + > naked_root_import_json_actual ' test_expect_success "naked root import expected output" ' - test_cmp naked_root_import_json_expected naked_root_import_json_actual + test_cmp_sorted naked_root_import_json_expected naked_root_import_json_actual ' test_done From 3590b1750dd894f7737bc6a047333a80a12f4040 Mon Sep 17 00:00:00 2001 From: Peter Rabbitson Date: Fri, 24 Apr 2020 14:20:07 +0200 Subject: [PATCH 2/2] Add an extra guard for the issue encountered in #7207 --- test/sharness/t0054-dag-car-import-export.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/sharness/t0054-dag-car-import-export.sh b/test/sharness/t0054-dag-car-import-export.sh index 4f7fc3f9288..450591ff792 100755 --- a/test/sharness/t0054-dag-car-import-export.sh +++ b/test/sharness/t0054-dag-car-import-export.sh @@ -45,7 +45,7 @@ do_import() { result=$? rm -f spin.gc &>/dev/null - wait + wait || true # work around possible trigger of a bash bug on overloaded circleci exit $result ) } @@ -124,7 +124,7 @@ EOE > basic_fifo_import_actual result=$? - wait + wait || true # work around possible trigger of a bash bug on overloaded circleci exit "$result" ) '