diff --git a/tests/od/main.c b/tests/od/main.c index 6d7f5093f..3ab5c432d 100644 --- a/tests/od/main.c +++ b/tests/od/main.c @@ -30,159 +30,13 @@ static const char long_str[] = "\xff,a\xff.bcdefghijklmnop"; int main(void) { /* test data width vs. output width discrepency */ - CALL(od(short_str, sizeof(short_str), OD_WIDTH_DEFAULT, 0)); + CALL(od_hex_dump(short_str, sizeof(short_str), OD_WIDTH_DEFAULT)); /* Test different output width in default configuration*/ - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, 0)); - CALL(od(long_str, sizeof(long_str), 4, 0)); - CALL(od(long_str, sizeof(long_str), 3, 0)); - CALL(od(long_str, sizeof(long_str), 8, 0)); - - /* Test different address formats in default configuration */ - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_ADDRESS_OCTAL)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_ADDRESS_HEX)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_ADDRESS_DECIMAL)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_ADDRESS_NONE)); - - /* Test octal data format with different address formats */ - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_OCTAL)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_ADDRESS_OCTAL | OD_FLAGS_BYTES_OCTAL)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_ADDRESS_HEX | OD_FLAGS_BYTES_OCTAL)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_ADDRESS_DECIMAL | OD_FLAGS_BYTES_OCTAL)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_ADDRESS_NONE | OD_FLAGS_BYTES_OCTAL)); - - /* Test different data formats */ - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_CHAR)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_INT)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_DECIMAL)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_UINT)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_HEX)); - - /* Test octal byte-wise output with different output lengths */ - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_OCTAL | OD_FLAGS_LENGTH_1)); - CALL(od(long_str, sizeof(long_str), 4, - OD_FLAGS_BYTES_OCTAL | OD_FLAGS_LENGTH_1)); - CALL(od(long_str, sizeof(long_str), 3, - OD_FLAGS_BYTES_OCTAL | OD_FLAGS_LENGTH_1)); - CALL(od(long_str, sizeof(long_str), 8, - OD_FLAGS_BYTES_OCTAL | OD_FLAGS_LENGTH_1)); - - /* Test different data formats with byte-wise output */ - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_CHAR | OD_FLAGS_LENGTH_1)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_INT | OD_FLAGS_LENGTH_1)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_DECIMAL | OD_FLAGS_LENGTH_1)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_UINT | OD_FLAGS_LENGTH_1)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_HEX | OD_FLAGS_LENGTH_1)); - - /* Test octal 2-byte-wise output with different output lengths */ - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_OCTAL | OD_FLAGS_LENGTH_2)); - CALL(od(long_str, sizeof(long_str), 4, - OD_FLAGS_BYTES_OCTAL | OD_FLAGS_LENGTH_2)); - CALL(od(long_str, sizeof(long_str), 3, - OD_FLAGS_BYTES_OCTAL | OD_FLAGS_LENGTH_2)); - CALL(od(long_str, sizeof(long_str), 8, - OD_FLAGS_BYTES_OCTAL | OD_FLAGS_LENGTH_2)); - - /* Test 2-byte-char output (should just return normal char output) */ - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_CHAR | OD_FLAGS_LENGTH_2)); - - /* Test 2-byte-int output with different output widths */ - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_INT | OD_FLAGS_LENGTH_2)); - CALL(od(long_str, sizeof(long_str), 5, - OD_FLAGS_BYTES_INT | OD_FLAGS_LENGTH_2)); - - /* Test 2-byte-decimal output with different output widths */ - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_DECIMAL | OD_FLAGS_LENGTH_2)); - CALL(od(long_str, sizeof(long_str), 5, - OD_FLAGS_BYTES_DECIMAL | OD_FLAGS_LENGTH_2)); - - /* Test 2-byte-unsigned-int output with different output widths */ - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_UINT | OD_FLAGS_LENGTH_2)); - CALL(od(long_str, sizeof(long_str), 5, - OD_FLAGS_BYTES_UINT | OD_FLAGS_LENGTH_2)); - - /* Test 2-byte-hex output with different output widths */ - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_HEX | OD_FLAGS_LENGTH_2)); - CALL(od(long_str, sizeof(long_str), 5, - OD_FLAGS_BYTES_HEX | OD_FLAGS_LENGTH_2)); - - /* Test different 4-byte-wise byte formats */ - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_INT | OD_FLAGS_LENGTH_4)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_DECIMAL | OD_FLAGS_LENGTH_4)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_UINT | OD_FLAGS_LENGTH_4)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_HEX | OD_FLAGS_LENGTH_4)); - - /* Test different 8-byte-wise byte formats */ -#ifndef MODULE_NEWLIB - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_INT | OD_FLAGS_LENGTH_8)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_DECIMAL | OD_FLAGS_LENGTH_8)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_UINT | OD_FLAGS_LENGTH_8)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_HEX | OD_FLAGS_LENGTH_8)); -#endif - - /* Test different char-wise byte formats */ - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_INT | OD_FLAGS_LENGTH_CHAR)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_DECIMAL | OD_FLAGS_LENGTH_CHAR)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_UINT | OD_FLAGS_LENGTH_CHAR)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_HEX | OD_FLAGS_LENGTH_CHAR)); - - /* Test different short-wise byte formats */ - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_INT | OD_FLAGS_LENGTH_SHORT)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_DECIMAL | OD_FLAGS_LENGTH_SHORT)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_UINT | OD_FLAGS_LENGTH_SHORT)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_HEX | OD_FLAGS_LENGTH_SHORT)); - - /* Test different long-wise byte formats */ - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_INT | OD_FLAGS_LENGTH_LONG)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_DECIMAL | OD_FLAGS_LENGTH_LONG)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_UINT | OD_FLAGS_LENGTH_LONG)); - CALL(od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, - OD_FLAGS_BYTES_HEX | OD_FLAGS_LENGTH_LONG)); + CALL(od_hex_dump(long_str, sizeof(long_str), OD_WIDTH_DEFAULT)); + CALL(od_hex_dump(long_str, sizeof(long_str), 4)); + CALL(od_hex_dump(long_str, sizeof(long_str), 3)); + CALL(od_hex_dump(long_str, sizeof(long_str), 8)); return 0; } diff --git a/tests/od/tests/01-run.py b/tests/od/tests/01-run.py index 31e5c59bb..b9808e85b 100755 --- a/tests/od/tests/01-run.py +++ b/tests/od/tests/01-run.py @@ -13,273 +13,30 @@ sys.path.append(os.path.join(os.environ['RIOTBASE'], 'dist/tools/testrunner')) import testrunner def testfunc(child): - # check if running with newlib - print("ATTENTION: This script is currently not suitable for non-native platforms") - - # test data width vs. output width discrepency - child.expect_exact(r'od(short_str, sizeof(short_str), OD_WIDTH_DEFAULT, 0)') - child.expect_exact(r'000000000 000000041101') - - # Test different output width in default configuration - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, 0)') - child.expect_exact(r'000000000 037730226377 014430661056 015031663145 015432665151') - child.expect_exact(r'000000020 016033667155 000000000000') - child.expect_exact(r'od(long_str, sizeof(long_str), 4, 0)') - child.expect_exact(r'000000000 037730226377') - child.expect_exact(r'000000004 014430661056') - child.expect_exact(r'000000010 015031663145') - child.expect_exact(r'000000014 015432665151') - child.expect_exact(r'000000020 016033667155') - child.expect_exact(r'000000024 000000000000') - child.expect_exact(r'od(long_str, sizeof(long_str), 3, 0)') - child.expect_exact(r'000000000 037730226377') - child.expect_exact(r'000000004 014430661056') - child.expect_exact(r'000000010 015031663145') - child.expect_exact(r'000000014 015432665151') - child.expect_exact(r'000000020 016033667155') - child.expect_exact(r'000000024 000000000000') - child.expect_exact(r'od(long_str, sizeof(long_str), 8, 0)') - child.expect_exact(r'000000000 037730226377 014430661056') - child.expect_exact(r'000000010 015031663145 015432665151') - child.expect_exact(r'000000020 016033667155 000000000000') - - # Test different address formats in default configuration - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_ADDRESS_OCTAL)') - child.expect_exact(r'000000000 037730226377 014430661056 015031663145 015432665151') - child.expect_exact(r'000000020 016033667155 000000000000') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_ADDRESS_HEX)') - child.expect_exact(r'000000 037730226377 014430661056 015031663145 015432665151') - child.expect_exact(r'000010 016033667155 000000000000') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_ADDRESS_DECIMAL)') - child.expect_exact(r'0000000 037730226377 014430661056 015031663145 015432665151') - child.expect_exact(r'0000016 016033667155 000000000000') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_ADDRESS_NONE)') - child.expect_exact(r' 037730226377 014430661056 015031663145 015432665151') - child.expect_exact(r' 016033667155 000000000000') - - # Test octal data format with different address formats - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_OCTAL)') - child.expect_exact(r'000000000 037730226377 014430661056 015031663145 015432665151') - child.expect_exact(r'000000020 016033667155 000000000000') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_ADDRESS_OCTAL | OD_FLAGS_BYTES_OCTAL)') - child.expect_exact(r'000000000 037730226377 014430661056 015031663145 015432665151') - child.expect_exact(r'000000020 016033667155 000000000000') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_ADDRESS_HEX | OD_FLAGS_BYTES_OCTAL)') - child.expect_exact(r'000000 037730226377 014430661056 015031663145 015432665151') - child.expect_exact(r'000010 016033667155 000000000000') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_ADDRESS_DECIMAL | OD_FLAGS_BYTES_OCTAL)') - child.expect_exact(r'0000000 037730226377 014430661056 015031663145 015432665151') - child.expect_exact(r'0000016 016033667155 000000000000') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_ADDRESS_NONE | OD_FLAGS_BYTES_OCTAL)') - child.expect_exact(r' 037730226377 014430661056 015031663145 015432665151') - child.expect_exact(r' 016033667155 000000000000') - - # Test different data formats - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_CHAR)') - child.expect_exact(r'000000000 377 , a 377 . b c d e f g h i j k l') - child.expect_exact(r'000000020 m n o p \0') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_INT)') - child.expect_exact(r'000000000 -10408705 1684234798 1751606885 1818978921') - child.expect_exact(r'000000020 1886350957 0') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_DECIMAL)') - child.expect_exact(r'000000000 -10408705 1684234798 1751606885 1818978921') - child.expect_exact(r'000000020 1886350957 0') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_UINT)') - child.expect_exact(r'000000000 4284558591 1684234798 1751606885 1818978921') - child.expect_exact(r'000000020 1886350957 0') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_HEX)') - child.expect_exact(r'000000000 ff612cff 6463622e 68676665 6c6b6a69') - child.expect_exact(r'000000020 706f6e6d 00000000') - - # Test octal byte-wise output with different output lengths - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_OCTAL | OD_FLAGS_LENGTH_1)') - child.expect_exact(r'000000000 377 054 141 377 056 142 143 144 145 146 147 150 151 152 153 154') - child.expect_exact(r'000000020 155 156 157 160 000') - child.expect_exact(r'od(long_str, sizeof(long_str), 4, OD_FLAGS_BYTES_OCTAL | OD_FLAGS_LENGTH_1)') - child.expect_exact(r'000000000 377 054 141 377') - child.expect_exact(r'000000004 056 142 143 144') - child.expect_exact(r'000000010 145 146 147 150') - child.expect_exact(r'000000014 151 152 153 154') - child.expect_exact(r'000000020 155 156 157 160') - child.expect_exact(r'000000024 000') - child.expect_exact(r'od(long_str, sizeof(long_str), 3, OD_FLAGS_BYTES_OCTAL | OD_FLAGS_LENGTH_1)') - child.expect_exact(r'000000000 377 054 141') - child.expect_exact(r'000000003 377 056 142') - child.expect_exact(r'000000006 143 144 145') - child.expect_exact(r'000000011 146 147 150') - child.expect_exact(r'000000014 151 152 153') - child.expect_exact(r'000000017 154 155 156') - child.expect_exact(r'000000022 157 160 000') - child.expect_exact(r'od(long_str, sizeof(long_str), 8, OD_FLAGS_BYTES_OCTAL | OD_FLAGS_LENGTH_1)') - child.expect_exact(r'000000000 377 054 141 377 056 142 143 144') - child.expect_exact(r'000000010 145 146 147 150 151 152 153 154') - child.expect_exact(r'000000020 155 156 157 160 000') - - # Test different data formats with byte-wise output - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_CHAR | OD_FLAGS_LENGTH_1)') - child.expect_exact(r'000000000 377 , a 377 . b c d e f g h i j k l') - child.expect_exact(r'000000020 m n o p \0') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_INT | OD_FLAGS_LENGTH_1)') - child.expect_exact(r'000000000 -1 44 97 -1 46 98 99 100 101 102 103 104 105 106 107 108') - child.expect_exact(r'000000020 109 110 111 112 0') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_DECIMAL | OD_FLAGS_LENGTH_1)') - child.expect_exact(r'000000000 -1 44 97 -1 46 98 99 100 101 102 103 104 105 106 107 108') - child.expect_exact(r'000000020 109 110 111 112 0') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_UINT | OD_FLAGS_LENGTH_1)') - child.expect_exact(r'000000000 255 44 97 255 46 98 99 100 101 102 103 104 105 106 107 108') - child.expect_exact(r'000000020 109 110 111 112 0') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_HEX | OD_FLAGS_LENGTH_1)') - child.expect_exact(r'000000000 ff 2c 61 ff 2e 62 63 64 65 66 67 68 69 6a 6b 6c') - child.expect_exact(r'000000020 6d 6e 6f 70 00') - - # Test octal 2-byte-wise output with different output lengths - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_OCTAL | OD_FLAGS_LENGTH_2)') - child.expect_exact(r'000000000 026377 177541 061056 062143 063145 064147 065151 066153') - child.expect_exact(r'000000020 067155 070157 000000') - child.expect_exact(r'od(long_str, sizeof(long_str), 4, OD_FLAGS_BYTES_OCTAL | OD_FLAGS_LENGTH_2)') - child.expect_exact(r'000000000 026377 177541') - child.expect_exact(r'000000004 061056 062143') - child.expect_exact(r'000000010 063145 064147') - child.expect_exact(r'000000014 065151 066153') - child.expect_exact(r'000000020 067155 070157') - child.expect_exact(r'000000024 000000') - child.expect_exact(r'od(long_str, sizeof(long_str), 3, OD_FLAGS_BYTES_OCTAL | OD_FLAGS_LENGTH_2)') - child.expect_exact(r'000000000 026377') - child.expect_exact(r'000000002 177541') - child.expect_exact(r'000000004 061056') - child.expect_exact(r'000000006 062143') - child.expect_exact(r'000000010 063145') - child.expect_exact(r'000000012 064147') - child.expect_exact(r'000000014 065151') - child.expect_exact(r'000000016 066153') - child.expect_exact(r'000000020 067155') - child.expect_exact(r'000000022 070157') - child.expect_exact(r'000000024 000000') - child.expect_exact(r'od(long_str, sizeof(long_str), 8, OD_FLAGS_BYTES_OCTAL | OD_FLAGS_LENGTH_2)') - child.expect_exact(r'000000000 026377 177541 061056 062143') - child.expect_exact(r'000000010 063145 064147 065151 066153') - child.expect_exact(r'000000020 067155 070157 000000') - - # Test 2-byte-char output (should just return normal char output) - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_CHAR | OD_FLAGS_LENGTH_2)') - child.expect_exact(r'000000000 377 , a 377 . b c d e f g h i j k l') - child.expect_exact(r'000000020 m n o p \0') - - # Test 2-byte-int output with different output widths - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_INT | OD_FLAGS_LENGTH_2)') - child.expect_exact(r'000000000 11519 -159 25134 25699 26213 26727 27241 27755') - child.expect_exact(r'000000020 28269 28783 0') - child.expect_exact(r'od(long_str, sizeof(long_str), 5, OD_FLAGS_BYTES_INT | OD_FLAGS_LENGTH_2)') - child.expect_exact(r'000000000 11519 -159') - child.expect_exact(r'000000004 25134 25699') - child.expect_exact(r'000000010 26213 26727') - child.expect_exact(r'000000014 27241 27755') - child.expect_exact(r'000000020 28269 28783') - child.expect_exact(r'000000024 0') - - # Test 2-byte-decimal output with different output widths - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_DECIMAL | OD_FLAGS_LENGTH_2)') - child.expect_exact(r'000000000 11519 -159 25134 25699 26213 26727 27241 27755') - child.expect_exact(r'000000020 28269 28783 0') - child.expect_exact(r'od(long_str, sizeof(long_str), 5, OD_FLAGS_BYTES_DECIMAL | OD_FLAGS_LENGTH_2)') - child.expect_exact(r'000000000 11519 -159') - child.expect_exact(r'000000004 25134 25699') - child.expect_exact(r'000000010 26213 26727') - child.expect_exact(r'000000014 27241 27755') - child.expect_exact(r'000000020 28269 28783') - child.expect_exact(r'000000024 0') - - # Test 2-byte-unsigned-int output with different output widths - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_UINT | OD_FLAGS_LENGTH_2)') - child.expect_exact(r'000000000 11519 65377 25134 25699 26213 26727 27241 27755') - child.expect_exact(r'000000020 28269 28783 0') - child.expect_exact(r'od(long_str, sizeof(long_str), 5, OD_FLAGS_BYTES_UINT | OD_FLAGS_LENGTH_2)') - child.expect_exact(r'000000000 11519 65377') - child.expect_exact(r'000000004 25134 25699') - child.expect_exact(r'000000010 26213 26727') - child.expect_exact(r'000000014 27241 27755') - child.expect_exact(r'000000020 28269 28783') - child.expect_exact(r'000000024 0') - - # Test 2-byte-hex output with different output widths - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_HEX | OD_FLAGS_LENGTH_2)') - child.expect_exact(r'000000000 2cff ff61 622e 6463 6665 6867 6a69 6c6b') - child.expect_exact(r'000000020 6e6d 706f 0000') - child.expect_exact(r'od(long_str, sizeof(long_str), 5, OD_FLAGS_BYTES_HEX | OD_FLAGS_LENGTH_2)') - child.expect_exact(r'000000000 2cff ff61') - child.expect_exact(r'000000004 622e 6463') - child.expect_exact(r'000000010 6665 6867') - child.expect_exact(r'000000014 6a69 6c6b') - child.expect_exact(r'000000020 6e6d 706f') - child.expect_exact(r'000000024 0000') - - # Test different 4-byte-wise byte formats - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_INT | OD_FLAGS_LENGTH_4)') - child.expect_exact(r'000000000 -10408705 1684234798 1751606885 1818978921') - child.expect_exact(r'000000020 1886350957 0') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_DECIMAL | OD_FLAGS_LENGTH_4)') - child.expect_exact(r'000000000 -10408705 1684234798 1751606885 1818978921') - child.expect_exact(r'000000020 1886350957 0') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_UINT | OD_FLAGS_LENGTH_4)') - child.expect_exact(r'000000000 4284558591 1684234798 1751606885 1818978921') - child.expect_exact(r'000000020 1886350957 0') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_HEX | OD_FLAGS_LENGTH_4)') - child.expect_exact(r'000000000 ff612cff 6463622e 68676665 6c6b6a69') - child.expect_exact(r'000000020 706f6e6d 00000000') - - # Test different 8-byte-wise byte formats - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_INT | OD_FLAGS_LENGTH_8)') - child.expect_exact(r'000000000 7233733380479724799 7812454979559974501') - child.expect_exact(r'000000020 1886350957') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_DECIMAL | OD_FLAGS_LENGTH_8)') - child.expect_exact(r'000000000 7233733380479724799 7812454979559974501') - child.expect_exact(r'000000020 1886350957') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_UINT | OD_FLAGS_LENGTH_8)') - child.expect_exact(r'000000000 7233733380479724799 7812454979559974501') - child.expect_exact(r'000000020 1886350957') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_HEX | OD_FLAGS_LENGTH_8)') - child.expect_exact(r'000000000 6463622eff612cff 6c6b6a6968676665') - child.expect_exact(r'000000020 00000000706f6e6d') - - # Test different char-wise byte formats - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_INT | OD_FLAGS_LENGTH_CHAR)') - child.expect_exact(r'000000000 -1 44 97 -1 46 98 99 100 101 102 103 104 105 106 107 108') - child.expect_exact(r'000000020 109 110 111 112 0') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_DECIMAL | OD_FLAGS_LENGTH_CHAR)') - child.expect_exact(r'000000000 -1 44 97 -1 46 98 99 100 101 102 103 104 105 106 107 108') - child.expect_exact(r'000000020 109 110 111 112 0') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_UINT | OD_FLAGS_LENGTH_CHAR)') - child.expect_exact(r'000000000 255 44 97 255 46 98 99 100 101 102 103 104 105 106 107 108') - child.expect_exact(r'000000020 109 110 111 112 0') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_HEX | OD_FLAGS_LENGTH_CHAR)') - child.expect_exact(r'000000000 ff 2c 61 ff 2e 62 63 64 65 66 67 68 69 6a 6b 6c') - child.expect_exact(r'000000020 6d 6e 6f 70 00') - - # Test different short-wise byte formats - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_INT | OD_FLAGS_LENGTH_SHORT)') - child.expect_exact(r'000000000 11519 -159 25134 25699 26213 26727 27241 27755') - child.expect_exact(r'000000020 28269 28783 0') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_DECIMAL | OD_FLAGS_LENGTH_SHORT)') - child.expect_exact(r'000000000 11519 -159 25134 25699 26213 26727 27241 27755') - child.expect_exact(r'000000020 28269 28783 0') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_UINT | OD_FLAGS_LENGTH_SHORT)') - child.expect_exact(r'000000000 11519 65377 25134 25699 26213 26727 27241 27755') - child.expect_exact(r'000000020 28269 28783 0') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_HEX | OD_FLAGS_LENGTH_SHORT)') - child.expect_exact(r'000000000 2cff ff61 622e 6463 6665 6867 6a69 6c6b') - child.expect_exact(r'000000020 6e6d 706f 0000') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_INT | OD_FLAGS_LENGTH_LONG)') - child.expect_exact(r'000000000 -10408705 1684234798 1751606885 1818978921') - child.expect_exact(r'000000020 1886350957 0') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_DECIMAL | OD_FLAGS_LENGTH_LONG)') - child.expect_exact(r'000000000 -10408705 1684234798 1751606885 1818978921') - child.expect_exact(r'000000020 1886350957 0') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_UINT | OD_FLAGS_LENGTH_LONG)') - child.expect_exact(r'000000000 4284558591 1684234798 1751606885 1818978921') - child.expect_exact(r'000000020 1886350957 0') - child.expect_exact(r'od(long_str, sizeof(long_str), OD_WIDTH_DEFAULT, OD_FLAGS_BYTES_HEX | OD_FLAGS_LENGTH_LONG)') - child.expect_exact(r'000000000 ff612cff 6463622e 68676665 6c6b6a69') - child.expect_exact(r'000000020 706f6e6d 00000000') + child.expect_exact("od_hex_dump(short_str, sizeof(short_str), OD_WIDTH_DEFAULT)") + child.expect_exact("00000000 41 42 00") + child.expect_exact("od_hex_dump(long_str, sizeof(long_str), OD_WIDTH_DEFAULT)") + child.expect_exact("00000000 FF 2C 61 FF 2E 62 63 64 65 66 67 68 69 6A 6B 6C") + child.expect_exact("00000010 6D 6E 6F 70 00") + child.expect_exact("od_hex_dump(long_str, sizeof(long_str), 4)") + child.expect_exact("00000000 FF 2C 61 FF") + child.expect_exact("00000004 2E 62 63 64") + child.expect_exact("00000008 65 66 67 68") + child.expect_exact("0000000C 69 6A 6B 6C") + child.expect_exact("00000010 6D 6E 6F 70") + child.expect_exact("00000014 00") + child.expect_exact("od_hex_dump(long_str, sizeof(long_str), 3)") + child.expect_exact("00000000 FF 2C 61") + child.expect_exact("00000003 FF 2E 62") + child.expect_exact("00000006 63 64 65") + child.expect_exact("00000009 66 67 68") + child.expect_exact("0000000C 69 6A 6B") + child.expect_exact("0000000F 6C 6D 6E") + child.expect_exact("00000012 6F 70 00") + child.expect_exact("od_hex_dump(long_str, sizeof(long_str), 8)") + child.expect_exact("00000000 FF 2C 61 FF 2E 62 63 64") + child.expect_exact("00000008 65 66 67 68 69 6A 6B 6C") + child.expect_exact("00000010 6D 6E 6F 70 00") print("All tests successful")