Holger Hans Peter Freyther | b79a148 | 2014-01-02 13:55:00 +0100 | [diff] [blame] | 1 | Plain dump |
| 2 | 00 01 02 03 |
Neels Hofmeyr | 0423b61 | 2019-01-14 23:32:53 +0100 | [diff] [blame] | 3 | 00010203 |
Holger Hans Peter Freyther | b79a148 | 2014-01-02 13:55:00 +0100 | [diff] [blame] | 4 | Corner case |
| 5 | 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 |
Nils O. SelÄsdal | 3244702 | 2014-01-02 14:04:43 +0100 | [diff] [blame] | 6 | 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfe |
Neels Hofmeyr | 0423b61 | 2019-01-14 23:32:53 +0100 | [diff] [blame] | 7 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, "[delim]", false) |
| 8 | = "00[delim]01[delim]02[delim]03" |
| 9 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, "[delim]", true) |
| 10 | = "00[delim]01[delim]02[delim]03[delim]" |
| 11 | osmo_hexdump_buf(buf, 6, data, 4, "[delim]", false) |
| 12 | = "" |
| 13 | osmo_hexdump_buf(buf, 7, data, 4, "[delim]", false) |
| 14 | = "" |
| 15 | osmo_hexdump_buf(buf, 8, data, 4, "[delim]", false) |
| 16 | = "" |
| 17 | osmo_hexdump_buf(buf, 6, data, 4, "[delim]", true) |
| 18 | = "" |
| 19 | osmo_hexdump_buf(buf, 7, data, 4, "[delim]", true) |
| 20 | = "" |
| 21 | osmo_hexdump_buf(buf, 8, data, 4, "[delim]", true) |
| 22 | = "" |
| 23 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, " ", false) |
| 24 | = "00 01 02 03" |
| 25 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, " ", true) |
| 26 | = "00 01 02 03 " |
| 27 | osmo_hexdump_buf(buf, 6, data, 4, " ", false) |
| 28 | = "00 " |
| 29 | osmo_hexdump_buf(buf, 7, data, 4, " ", false) |
| 30 | = "00 01 " |
| 31 | osmo_hexdump_buf(buf, 8, data, 4, " ", false) |
| 32 | = "00 01 " |
| 33 | osmo_hexdump_buf(buf, 6, data, 4, " ", true) |
| 34 | = "00 " |
| 35 | osmo_hexdump_buf(buf, 7, data, 4, " ", true) |
| 36 | = "00 01 " |
| 37 | osmo_hexdump_buf(buf, 8, data, 4, " ", true) |
| 38 | = "00 01 " |
| 39 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, ":", false) |
| 40 | = "00:01:02:03" |
| 41 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, ":", true) |
| 42 | = "00:01:02:03:" |
| 43 | osmo_hexdump_buf(buf, 6, data, 4, ":", false) |
| 44 | = "00:" |
| 45 | osmo_hexdump_buf(buf, 7, data, 4, ":", false) |
| 46 | = "00:01:" |
| 47 | osmo_hexdump_buf(buf, 8, data, 4, ":", false) |
| 48 | = "00:01:" |
| 49 | osmo_hexdump_buf(buf, 6, data, 4, ":", true) |
| 50 | = "00:" |
| 51 | osmo_hexdump_buf(buf, 7, data, 4, ":", true) |
| 52 | = "00:01:" |
| 53 | osmo_hexdump_buf(buf, 8, data, 4, ":", true) |
| 54 | = "00:01:" |
| 55 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, "::", false) |
| 56 | = "00::01::02::03" |
| 57 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, "::", true) |
| 58 | = "00::01::02::03::" |
| 59 | osmo_hexdump_buf(buf, 6, data, 4, "::", false) |
| 60 | = "00::" |
| 61 | osmo_hexdump_buf(buf, 7, data, 4, "::", false) |
| 62 | = "00::" |
| 63 | osmo_hexdump_buf(buf, 8, data, 4, "::", false) |
| 64 | = "00::" |
| 65 | osmo_hexdump_buf(buf, 6, data, 4, "::", true) |
| 66 | = "00::" |
| 67 | osmo_hexdump_buf(buf, 7, data, 4, "::", true) |
| 68 | = "00::" |
| 69 | osmo_hexdump_buf(buf, 8, data, 4, "::", true) |
| 70 | = "00::" |
| 71 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, "", false) |
| 72 | = "00010203" |
| 73 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, "", true) |
| 74 | = "00010203" |
| 75 | osmo_hexdump_buf(buf, 6, data, 4, "", false) |
| 76 | = "0001" |
| 77 | osmo_hexdump_buf(buf, 7, data, 4, "", false) |
| 78 | = "000102" |
| 79 | osmo_hexdump_buf(buf, 8, data, 4, "", false) |
| 80 | = "000102" |
| 81 | osmo_hexdump_buf(buf, 6, data, 4, "", true) |
| 82 | = "0001" |
| 83 | osmo_hexdump_buf(buf, 7, data, 4, "", true) |
| 84 | = "000102" |
| 85 | osmo_hexdump_buf(buf, 8, data, 4, "", true) |
| 86 | = "000102" |
| 87 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, NULL, false) |
| 88 | = "00010203" |
| 89 | osmo_hexdump_buf(buf, sizeof(buf), data, 4, NULL, true) |
| 90 | = "00010203" |
| 91 | osmo_hexdump_buf(buf, 6, data, 4, NULL, false) |
| 92 | = "0001" |
| 93 | osmo_hexdump_buf(buf, 7, data, 4, NULL, false) |
| 94 | = "000102" |
| 95 | osmo_hexdump_buf(buf, 8, data, 4, NULL, false) |
| 96 | = "000102" |
| 97 | osmo_hexdump_buf(buf, 6, data, 4, NULL, true) |
| 98 | = "0001" |
| 99 | osmo_hexdump_buf(buf, 7, data, 4, NULL, true) |
| 100 | = "000102" |
| 101 | osmo_hexdump_buf(buf, 8, data, 4, NULL, true) |
| 102 | = "000102" |
Neels Hofmeyr | 7adb567 | 2017-02-14 15:48:19 +0100 | [diff] [blame] | 103 | |
| 104 | Hexparse 0..255 in lower case |
| 105 | rc = 256 |
| 106 | --> 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff |
| 107 | |
| 108 | Hexparse 0..255 in upper case |
| 109 | rc = 256 |
| 110 | --> 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff |
| 111 | |
| 112 | Hexparse 0..255 in mixed case |
| 113 | rc = 256 |
| 114 | --> 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff |
| 115 | |
Neels Hofmeyr | 437ed4a | 2017-02-14 15:54:31 +0100 | [diff] [blame] | 116 | Hexparse 0..255 with whitespace |
| 117 | rc = 256 |
| 118 | --> 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff |
| 119 | |
Neels Hofmeyr | 7adb567 | 2017-02-14 15:48:19 +0100 | [diff] [blame] | 120 | Hexparse with buffer too short |
| 121 | rc = -1 |
| 122 | Hexparse with uneven amount of digits |
| 123 | rc = -1 |
| 124 | Hexparse with invalid char |
| 125 | rc = -1 |
Neels Hofmeyr | 4335bad | 2017-10-07 04:39:14 +0200 | [diff] [blame] | 126 | |
Harald Welte | 7869baf | 2018-07-31 20:25:48 +0200 | [diff] [blame] | 127 | Testing IPA CCM ID GET parsing |
| 128 | |
| 129 | Testing IPA CCM ID RESP parsing |
| 130 | |
Neels Hofmeyr | 4335bad | 2017-10-07 04:39:14 +0200 | [diff] [blame] | 131 | ----- test_is_hexstr |
| 132 | 0: pass str='(null)' min=0 max=10 even=0 expect=valid |
| 133 | 1: pass str='(null)' min=1 max=10 even=0 expect=invalid |
| 134 | 2: pass str='' min=0 max=10 even=0 expect=valid |
| 135 | 3: pass str='' min=1 max=10 even=0 expect=invalid |
| 136 | 4: pass str=' ' min=0 max=10 even=0 expect=invalid |
| 137 | 5: pass str='1' min=0 max=10 even=0 expect=valid |
| 138 | 6: pass str='1' min=1 max=10 even=0 expect=valid |
| 139 | 7: pass str='1' min=1 max=10 even=1 expect=invalid |
| 140 | 8: pass str='1' min=2 max=10 even=0 expect=invalid |
| 141 | 9: pass str='123' min=1 max=10 even=0 expect=valid |
| 142 | 10: pass str='123' min=1 max=10 even=1 expect=invalid |
| 143 | 11: pass str='123' min=4 max=10 even=0 expect=invalid |
| 144 | 12: pass str='1234' min=4 max=10 even=1 expect=valid |
| 145 | 13: pass str='12345' min=4 max=10 even=1 expect=invalid |
| 146 | 14: pass str='123456' min=4 max=10 even=1 expect=valid |
| 147 | 15: pass str='1234567' min=4 max=10 even=1 expect=invalid |
| 148 | 16: pass str='12345678' min=4 max=10 even=1 expect=valid |
| 149 | 17: pass str='123456789' min=4 max=10 even=1 expect=invalid |
| 150 | 18: pass str='123456789a' min=4 max=10 even=1 expect=valid |
| 151 | 19: pass str='123456789ab' min=4 max=10 even=1 expect=invalid |
| 152 | 20: pass str='123456789abc' min=4 max=10 even=1 expect=invalid |
| 153 | 21: pass str='123456789ab' min=4 max=10 even=0 expect=invalid |
| 154 | 22: pass str='123456789abc' min=4 max=10 even=0 expect=invalid |
| 155 | 23: pass str='0123456789abcdefABCDEF' min=0 max=100 even=0 expect=valid |
| 156 | 24: pass str='0123456789 abcdef ABCDEF' min=0 max=100 even=0 expect=invalid |
| 157 | 25: pass str='foobar' min=0 max=100 even=0 expect=invalid |
| 158 | 26: pass str='BeadedBeeAced1EbbedDefacedFacade' min=32 max=32 even=1 expect=valid |
| 159 | 27: pass str='C01ffedC1cadaeAc1d1f1edAcac1aB0a' min=32 max=32 even=0 expect=valid |
| 160 | 28: pass str='DeafBeddedBabeAcceededFadedDecaff' min=32 max=32 even=0 expect=invalid |
Harald Welte | 504caac | 2017-10-27 17:19:59 +0200 | [diff] [blame] | 161 | |
| 162 | Testing BCD conversion |
| 163 | val=0x0, expected=0, found=0 |
| 164 | val=0x1, expected=1, found=1 |
| 165 | val=0x2, expected=2, found=2 |
| 166 | val=0x3, expected=3, found=3 |
| 167 | val=0x4, expected=4, found=4 |
| 168 | val=0x5, expected=5, found=5 |
| 169 | val=0x6, expected=6, found=6 |
| 170 | val=0x7, expected=7, found=7 |
| 171 | val=0x8, expected=8, found=8 |
| 172 | val=0x9, expected=9, found=9 |
| 173 | val=0xa, expected=A, found=A |
| 174 | val=0xb, expected=B, found=B |
| 175 | val=0xc, expected=C, found=C |
| 176 | val=0xd, expected=D, found=D |
| 177 | val=0xe, expected=E, found=E |
| 178 | val=0xf, expected=F, found=F |
Neels Hofmeyr | 9910bbc | 2017-12-16 00:54:52 +0100 | [diff] [blame] | 179 | |
Neels Hofmeyr | 7079e69 | 2018-12-05 21:02:36 +0100 | [diff] [blame] | 180 | Testing bcd to string conversion |
| 181 | - BCD-input='1a 32 54 76 98 f0' nibbles=[1..11[ str_size=64 |
| 182 | rc=10 |
| 183 | -> "1234567890" |
Neels Hofmeyr | 83025bf | 2020-05-26 02:45:23 +0200 | [diff] [blame] | 184 | osmo_str2bcd(start_nibble=1) -> rc=6 |
| 185 | = 1f 32 54 76 98 f0 |
Neels Hofmeyr | 7079e69 | 2018-12-05 21:02:36 +0100 | [diff] [blame] | 186 | - BCD-input='1a 32 a4 cb 9d f0' nibbles=[1..11[ str_size=64 |
| 187 | rc=-22 |
| 188 | -> "1234ABCD90" |
Neels Hofmeyr | 83025bf | 2020-05-26 02:45:23 +0200 | [diff] [blame] | 189 | osmo_str2bcd(start_nibble=1) -> rc=-22 |
Neels Hofmeyr | 7079e69 | 2018-12-05 21:02:36 +0100 | [diff] [blame] | 190 | - BCD-input='1a 32 a4 cb 9d f0' nibbles=[1..11[ str_size=64 |
| 191 | rc=10 |
| 192 | -> "1234ABCD90" |
Neels Hofmeyr | 83025bf | 2020-05-26 02:45:23 +0200 | [diff] [blame] | 193 | osmo_str2bcd(start_nibble=1) -> rc=6 |
| 194 | = 1f 32 a4 cb 9d f0 |
Neels Hofmeyr | 7079e69 | 2018-12-05 21:02:36 +0100 | [diff] [blame] | 195 | - BCD-input='1a 32 54 76 98 f0' nibbles=[1..12[ str_size=64 |
| 196 | rc=-22 |
| 197 | -> "1234567890F" |
Neels Hofmeyr | 83025bf | 2020-05-26 02:45:23 +0200 | [diff] [blame] | 198 | osmo_str2bcd(start_nibble=1) -> rc=-22 |
Neels Hofmeyr | 7079e69 | 2018-12-05 21:02:36 +0100 | [diff] [blame] | 199 | - BCD-input='1a 32 54 76 98 f0' nibbles=[1..12[ str_size=64 |
| 200 | rc=11 |
| 201 | -> "1234567890F" |
Neels Hofmeyr | 83025bf | 2020-05-26 02:45:23 +0200 | [diff] [blame] | 202 | osmo_str2bcd(start_nibble=1) -> rc=6 |
| 203 | = 1f 32 54 76 98 f0 |
Neels Hofmeyr | 7079e69 | 2018-12-05 21:02:36 +0100 | [diff] [blame] | 204 | - BCD-input='1a 32 54 76 98 f0' nibbles=[0..12[ str_size=64 |
| 205 | rc=12 |
| 206 | -> "A1234567890F" |
Neels Hofmeyr | 83025bf | 2020-05-26 02:45:23 +0200 | [diff] [blame] | 207 | osmo_str2bcd(start_nibble=0) -> rc=6 |
| 208 | = 1a 32 54 76 98 f0 |
Neels Hofmeyr | 7079e69 | 2018-12-05 21:02:36 +0100 | [diff] [blame] | 209 | - BCD-input='1a 32 54 76 98 f0' nibbles=[1..12[ str_size=5 |
| 210 | rc=11 |
| 211 | -> "1234" |
Neels Hofmeyr | 83025bf | 2020-05-26 02:45:23 +0200 | [diff] [blame] | 212 | osmo_str2bcd(start_nibble=1) -> rc=3 |
| 213 | = 1f 32 f4 |
Neels Hofmeyr | 7079e69 | 2018-12-05 21:02:36 +0100 | [diff] [blame] | 214 | - BCD-input='' nibbles=[1..1[ str_size=64 |
| 215 | rc=0 |
| 216 | -> "" |
Neels Hofmeyr | 83025bf | 2020-05-26 02:45:23 +0200 | [diff] [blame] | 217 | osmo_str2bcd(start_nibble=1) -> rc=1 |
| 218 | = ff |
Neels Hofmeyr | 7079e69 | 2018-12-05 21:02:36 +0100 | [diff] [blame] | 219 | - zero output buffer |
| 220 | bcd2str(NULL, ...) -> -12 |
| 221 | bcd2str(dst, 0, ...) -> -12 |
| 222 | |
Neels Hofmeyr | 8a7eed5 | 2019-11-21 00:12:10 +0100 | [diff] [blame] | 223 | Testing string escaping: osmo_escape_str() |
Neels Hofmeyr | 9910bbc | 2017-12-16 00:54:52 +0100 | [diff] [blame] | 224 | - all chars from 0 to 255 in batches of 16: |
| 225 | "\0\1\2\3\4\5\6\a\b\t\n\v\f\r\14\15" |
| 226 | "\16\17\18\19\20\21\22\23\24\25\26\27\28\29\30\31" |
| 227 | " !\"#$%&'()*+,-./" |
| 228 | "0123456789:;<=>?" |
| 229 | "@ABCDEFGHIJKLMNO" |
| 230 | "PQRSTUVWXYZ[\\]^_" |
| 231 | "`abcdefghijklmno" |
| 232 | "pqrstuvwxyz{|}~\127" |
| 233 | "\128\129\130\131\132\133\134\135\136\137\138\139\140\141\142\143" |
| 234 | "\144\145\146\147\148\149\150\151\152\153\154\155\156\157\158\159" |
| 235 | "\160\161\162\163\164\165\166\167\168\169\170\171\172\173\174\175" |
| 236 | "\176\177\178\179\180\181\182\183\184\185\186\187\188\189\190\191" |
| 237 | "\192\193\194\195\196\197\198\199\200\201\202\203\204\205\206\207" |
| 238 | "\208\209\210\211\212\213\214\215\216\217\218\219\220\221\222\223" |
| 239 | "\224\225\226\227\228\229\230\231\232\233\234\235\236\237\238\239" |
| 240 | "\240\241\242\243\244\245\246\247\248\249\250\251\252\253\254\255" |
| 241 | - nul terminated: |
| 242 | "termi\nated" |
| 243 | - passthru: |
| 244 | passed through unchanged "printable" |
| 245 | - zero length: |
| 246 | "" |
| 247 | - truncation when too long: |
| 248 | "\axxxxxxE" |
Neels Hofmeyr | 04eb56f | 2018-04-09 00:41:28 +0200 | [diff] [blame] | 249 | |
Neels Hofmeyr | 8a7eed5 | 2019-11-21 00:12:10 +0100 | [diff] [blame] | 250 | Testing string quoting: osmo_quote_str() |
Neels Hofmeyr | 04eb56f | 2018-04-09 00:41:28 +0200 | [diff] [blame] | 251 | - all chars from 0 to 255 in batches of 16: |
| 252 | '"\0\1\2\3\4\5\6\a\b\t\n\v\f\r\14\15"' |
| 253 | '"\16\17\18\19\20\21\22\23\24\25\26\27\28\29\30\31"' |
| 254 | '" !\"#$%&'()*+,-./"' |
| 255 | '"0123456789:;<=>?"' |
| 256 | '"@ABCDEFGHIJKLMNO"' |
| 257 | '"PQRSTUVWXYZ[\\]^_"' |
| 258 | '"`abcdefghijklmno"' |
| 259 | '"pqrstuvwxyz{|}~\127"' |
| 260 | '"\128\129\130\131\132\133\134\135\136\137\138\139\140\141\142\143"' |
| 261 | '"\144\145\146\147\148\149\150\151\152\153\154\155\156\157\158\159"' |
| 262 | '"\160\161\162\163\164\165\166\167\168\169\170\171\172\173\174\175"' |
| 263 | '"\176\177\178\179\180\181\182\183\184\185\186\187\188\189\190\191"' |
| 264 | '"\192\193\194\195\196\197\198\199\200\201\202\203\204\205\206\207"' |
| 265 | '"\208\209\210\211\212\213\214\215\216\217\218\219\220\221\222\223"' |
| 266 | '"\224\225\226\227\228\229\230\231\232\233\234\235\236\237\238\239"' |
| 267 | '"\240\241\242\243\244\245\246\247\248\249\250\251\252\253\254\255"' |
| 268 | - nul terminated: |
| 269 | '"termi\nated"' |
| 270 | - never passthru: |
| 271 | NOT passed through. '"printable"' |
| 272 | - zero length: |
| 273 | '""' |
| 274 | - truncation when too long: |
Neels Hofmeyr | ecef7ec | 2019-03-05 16:42:50 +0100 | [diff] [blame] | 275 | '"\axxxxxE' |
Neels Hofmeyr | 04eb56f | 2018-04-09 00:41:28 +0200 | [diff] [blame] | 276 | - always truncation, even when no escaping needed: |
Neels Hofmeyr | ecef7ec | 2019-03-05 16:42:50 +0100 | [diff] [blame] | 277 | '"xxxxxxxE' |
Neels Hofmeyr | 04eb56f | 2018-04-09 00:41:28 +0200 | [diff] [blame] | 278 | - try to feed too little buf for quoting: |
Neels Hofmeyr | ecef7ec | 2019-03-05 16:42:50 +0100 | [diff] [blame] | 279 | '"' |
Neels Hofmeyr | 04eb56f | 2018-04-09 00:41:28 +0200 | [diff] [blame] | 280 | - NULL string becomes a "NULL" literal: |
| 281 | 'NULL' |
Harald Welte | 15a5f8d | 2018-06-06 16:58:17 +0200 | [diff] [blame] | 282 | |
Neels Hofmeyr | 8a7eed5 | 2019-11-21 00:12:10 +0100 | [diff] [blame] | 283 | Testing string escaping: osmo_escape_cstr_buf() |
| 284 | - all chars from 0 to 255 in batches of 16: |
| 285 | "\0\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f" |
| 286 | "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" |
| 287 | " !\"#$%&'()*+,-./" |
| 288 | "0123456789:;<=>?" |
| 289 | "@ABCDEFGHIJKLMNO" |
| 290 | "PQRSTUVWXYZ[\\]^_" |
| 291 | "`abcdefghijklmno" |
| 292 | "pqrstuvwxyz{|}~\x7f" |
| 293 | "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" |
| 294 | "\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" |
| 295 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf" |
| 296 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" |
| 297 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" |
| 298 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" |
| 299 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef" |
| 300 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" |
| 301 | - nul terminated: |
| 302 | "termi\nated" |
| 303 | - passthru: |
| 304 | passed through unchanged "printable" |
| 305 | - zero length: |
| 306 | "" |
| 307 | - truncation when too long: |
| 308 | "\x07xxxxx" |
| 309 | - Test escaping an escaped string: |
| 310 | 0: '\x02\x03\n' |
| 311 | 1: '\\x02\\x03\\n' |
| 312 | 2: '\\\\x02\\\\x03\\\\n' |
| 313 | 3: '\\\\\\\\x02\\\\\\\\x03\\\\\\\\n' |
| 314 | |
| 315 | Testing string quoting: osmo_quote_cstr_buf() |
| 316 | - all chars from 0 to 255 in batches of 16: |
| 317 | "\0\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f" |
| 318 | "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" |
| 319 | " !\"#$%&'()*+,-./" |
| 320 | "0123456789:;<=>?" |
| 321 | "@ABCDEFGHIJKLMNO" |
| 322 | "PQRSTUVWXYZ[\\]^_" |
| 323 | "`abcdefghijklmno" |
| 324 | "pqrstuvwxyz{|}~\x7f" |
| 325 | "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f" |
| 326 | "\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f" |
| 327 | "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf" |
| 328 | "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf" |
| 329 | "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf" |
| 330 | "\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf" |
| 331 | "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef" |
| 332 | "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff" |
| 333 | - nul terminated: |
| 334 | '"termi\nated"' |
| 335 | - never passthru: |
| 336 | NOT passed through. '"printable"' |
| 337 | - zero length: |
| 338 | '""' |
| 339 | - truncation when too long: |
| 340 | '"\x07xxxx' |
| 341 | - always truncation, even when no escaping needed: |
| 342 | '"xxxxxxxE' |
| 343 | - try to feed too little buf for quoting: |
| 344 | '"' |
| 345 | - Test quoting a quoted+escaped string: |
| 346 | 0: "\x02\x03\n" |
| 347 | 1: "\"\\x02\\x03\\n\"" |
| 348 | 2: "\"\\\"\\\\x02\\\\x03\\\\n\\\"\"" |
| 349 | 3: "\"\\\"\\\\\\\"\\\\\\\\x02\\\\\\\\x03\\\\\\\\n\\\\\\\"\\\"\"" |
| 350 | - Test C-string equivalence: |
| 351 | strcmp(OSMO_STRINGIFY_VAL(TEST_STR), osmo_quote_cstr_c(ctx, TEST_STR, 256)) == 0 |
| 352 | strcmp(OSMO_STRINGIFY_VAL(EMPTY_STR), osmo_quote_cstr_c(ctx, EMPTY_STR, -1)) == 0 |
| 353 | strcmp("NULL", osmo_quote_cstr_c(ctx, NULL, -1)) == 0 |
| 354 | |
Harald Welte | 15a5f8d | 2018-06-06 16:58:17 +0200 | [diff] [blame] | 355 | Testing integer square-root |
Neels Hofmeyr | 59f4caf | 2018-07-19 22:13:19 +0200 | [diff] [blame] | 356 | |
Philipp Maier | 94705d0 | 2023-01-11 10:55:47 +0100 | [diff] [blame] | 357 | Testing built in truncated modulo for comparison: |
| 358 | 8 mod 3 = 2 = 2 |
| 359 | 8 mod -3 = 2 = 2 |
| 360 | -8 mod 3 = -2 = -2 |
| 361 | -8 mod -3 = -2 = -2 |
| 362 | 1 mod 2 = 1 = 1 |
| 363 | 1 mod -2 = 1 = 1 |
| 364 | -1 mod 2 = -1 = -1 |
| 365 | -1 mod -2 = -1 = -1 |
| 366 | |
| 367 | Testing OSMO_MOD_FLR(): |
| 368 | 8 mod_flr 3 = 2 = 2 |
| 369 | 8 mod_flr -3 = -1 = -1 |
| 370 | -8 mod_flr 3 = 1 = 1 |
| 371 | -8 mod_flr -3 = -2 = -2 |
| 372 | 1 mod_flr 2 = 1 = 1 |
| 373 | 1 mod_flr -2 = -1 = -1 |
| 374 | -1 mod_flr 2 = 1 = 1 |
| 375 | -1 mod_flr -2 = -1 = -1 |
| 376 | |
| 377 | Testing OSMO_MOD_EUC(): |
| 378 | 8 mod_euc 3 = 2 = 2 |
| 379 | 8 mod_euc -3 = 2 = 2 |
| 380 | -8 mod_euc 3 = 1 = 1 |
| 381 | -8 mod_euc -3 = 1 = 1 |
| 382 | 1 mod_euc 2 = 1 = 1 |
| 383 | 1 mod_euc -2 = 1 = 1 |
| 384 | -1 mod_euc 2 = 1 = 1 |
| 385 | -1 mod_euc -2 = 1 = 1 |
| 386 | |
Neels Hofmeyr | 59f4caf | 2018-07-19 22:13:19 +0200 | [diff] [blame] | 387 | osmo_sockaddr_to_str_and_uint_test |
Pau Espin Pedrol | 1a3d24e | 2020-08-28 18:31:32 +0200 | [diff] [blame] | 388 | [0] [0.0.0.0]:0 addr_len=20 --> [0.0.0.0]:0 rc=7 |
| 389 | [1] [255.255.255.255]:65535 addr_len=20 --> [255.255.255.255]:65535 rc=15 |
| 390 | [2] [234.23.42.123]:1234 addr_len=20 --> [234.23.42.123]:1234 rc=13 |
| 391 | [3] [234.23.42.123]:1234 addr_len=10 --> [234.23.42]:1234 rc=13 |
| 392 | [4] [234.23.42.123]:1234 (omit port) addr_len=20 --> [234.23.42.123]:0 rc=13 |
| 393 | [5] [234.23.42.123]:1234 (omit addr) addr_len=0 --> []:1234 rc=0 |
| 394 | [6] [234.23.42.123]:1234 addr_len=0 --> []:1234 rc=13 |
| 395 | [7] [234.23.42.123]:1234 (omit addr) (omit port) addr_len=0 --> []:0 rc=0 |
| 396 | [8] [::]:1234 addr_len=20 --> [::]:1234 rc=2 |
| 397 | [9] [::1]:1234 addr_len=20 --> [::1]:1234 rc=3 |
| 398 | [10] [::1]:1234 (omit port) addr_len=20 --> [::1]:0 rc=3 |
| 399 | [11] [::1]:1234 (omit addr) addr_len=20 --> []:1234 rc=0 |
| 400 | [12] [fd02:db8:1::1]:1234 addr_len=20 --> [fd02:db8:1::1]:1234 rc=13 |
| 401 | [13] [2001:db8:1::ab9:C0A8:102]:1234 addr_len=40 --> [2001:db8:1::ab9:c0a8:102]:1234 rc=24 |
| 402 | [14] [2001:0db8:0001:0000:0000:0ab9:C0A8:0102]:1234 addr_len=32 --> [2001:db8:1::ab9:c0a8:102]:1234 rc=24 |
| 403 | [15] [::ffff:192.168.20.34]:1234 addr_len=32 --> [::ffff:192.168.20.34]:1234 rc=20 |
Neels Hofmeyr | 7c74989 | 2018-09-07 03:01:38 +0200 | [diff] [blame] | 404 | |
| 405 | osmo_str_tolowupper_test |
| 406 | osmo_str_tolower("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 407 | = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz!@#$%^&*()" |
| 408 | osmo_str_toupper("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 409 | = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()" |
| 410 | osmo_str_tolower_buf(99, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 411 | = 62, "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz!@#$%^&*()" |
| 412 | osmo_str_tolower_buf(99, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()", in-place) |
| 413 | = 62, "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz!@#$%^&*()" |
| 414 | osmo_str_toupper_buf(99, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 415 | = 62, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()" |
| 416 | osmo_str_toupper_buf(99, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()", in-place) |
| 417 | = 62, "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()" |
| 418 | osmo_str_tolower_buf(0, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 419 | = 62, "Unset" |
| 420 | osmo_str_tolower_buf(0, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()", in-place) |
| 421 | = 0, "Unset" |
| 422 | osmo_str_toupper_buf(0, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 423 | = 62, "Unset" |
| 424 | osmo_str_toupper_buf(0, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()", in-place) |
| 425 | = 0, "Unset" |
| 426 | osmo_str_tolower_buf(1, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 427 | = 62, "" |
| 428 | osmo_str_tolower_buf(1, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()", in-place) |
| 429 | = 0, "" |
| 430 | osmo_str_toupper_buf(1, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 431 | = 62, "" |
| 432 | osmo_str_toupper_buf(1, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()", in-place) |
| 433 | = 0, "" |
| 434 | osmo_str_tolower_buf(2, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 435 | = 62, "a" |
| 436 | osmo_str_tolower_buf(2, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()", in-place) |
| 437 | = 1, "a" |
| 438 | osmo_str_toupper_buf(2, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 439 | = 62, "A" |
| 440 | osmo_str_toupper_buf(2, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()", in-place) |
| 441 | = 1, "A" |
| 442 | osmo_str_tolower_buf(28, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 443 | = 62, "abcdefghijklmnopqrstuvwxyza" |
| 444 | osmo_str_tolower_buf(28, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()", in-place) |
| 445 | = 27, "abcdefghijklmnopqrstuvwxyza" |
| 446 | osmo_str_toupper_buf(28, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()") |
| 447 | = 62, "ABCDEFGHIJKLMNOPQRSTUVWXYZA" |
| 448 | osmo_str_toupper_buf(28, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()", in-place) |
| 449 | = 27, "ABCDEFGHIJKLMNOPQRSTUVWXYZA" |
Neels Hofmeyr | 2cbe25f | 2019-02-11 20:32:06 +0100 | [diff] [blame] | 450 | |
| 451 | strbuf_test |
| 452 | OSMO_STRBUF_APPEND(): |
| 453 | The answer is 42 |
| 454 | would have needed 423470 bytes |
| 455 | |
| 456 | OSMO_STRBUF_PRINTF(): |
| 457 | 1: (need 42 chars, had size=23) T minus 10 9 8 7 6 5 4 |
| 458 | 2: (need 42 chars, had size=42) T minus 10 9 8 7 6 5 4 3 2 1 ... Lift off |
| 459 | 3: (need 42 chars, had size=42+1) T minus 10 9 8 7 6 5 4 3 2 1 ... Lift off! |
| 460 | 4: (need 42 chars, had size=0) 0x2b 0x2b 0x2b... |
| 461 | 5: (need 42 chars, had NULL buffer) |
| 462 | |
| 463 | cascade: |
| 464 | (need 134 chars) |
| 465 | T minus 10 9 8 7 6 5 4 3 2 1 ... Lift off! -- T minus 10 9 8 7 6 5 4 3 2 1 ... Lift off! -- T minus 10 9 8 7 6 5 4 3 2 1 ... Lift off! |
| 466 | (need 134 chars, had size=63) T minus 10 9 8 7 6 5 4 3 2 1 ... Lift off! -- T minus 10 9 8 7 |
Neels Hofmeyr | d79ccc6 | 2019-03-07 23:08:40 +0100 | [diff] [blame] | 467 | |
Neels Hofmeyr | 8531d66 | 2019-04-11 07:16:02 +0200 | [diff] [blame] | 468 | strbuf_test_nolen |
| 469 | 20: 0001011100101010 (need=16) |
| 470 | more: 0001011100101010000 (need=19) |
| 471 | 10: 000101110 (need=9) |
| 472 | |
Neels Hofmeyr | d79ccc6 | 2019-03-07 23:08:40 +0100 | [diff] [blame] | 473 | startswith_test() |
| 474 | osmo_str_startswith(NULL, NULL) == true |
| 475 | osmo_str_startswith("", NULL) == true |
| 476 | osmo_str_startswith(NULL, "") == true |
| 477 | osmo_str_startswith("", "") == true |
| 478 | osmo_str_startswith("abc", NULL) == true |
| 479 | osmo_str_startswith("abc", "") == true |
| 480 | osmo_str_startswith(NULL, "abc") == false |
| 481 | osmo_str_startswith("", "abc") == false |
| 482 | osmo_str_startswith("abc", "a") == true |
| 483 | osmo_str_startswith("abc", "ab") == true |
| 484 | osmo_str_startswith("abc", "abc") == true |
| 485 | osmo_str_startswith("abc", "abcd") == false |
| 486 | osmo_str_startswith("abc", "xyz") == false |
Neels Hofmeyr | 823073a | 2019-10-28 04:58:04 +0100 | [diff] [blame] | 487 | |
| 488 | name_c_impl_test |
| 489 | 0: "test" |
| 490 | OSMO_NAME_C_IMPL(10, "ERROR") -> "test" allocated 1 10 bytes, name 'foo_name_c' |
| 491 | OSMO_NAME_C_IMPL(10, NULL) -> "test" allocated 1 10 bytes, name 'foo_name_c_null' |
| 492 | OSMO_NAME_C_IMPL(0, "ERROR") -> "test" allocated 1 5 bytes, name 'foo_name_c_zero' |
| 493 | OSMO_NAME_C_IMPL(0, NULL) -> "test" allocated 1 5 bytes, name 'foo_name_c_zero_null' |
| 494 | 1: "longer than 10 chars" |
| 495 | OSMO_NAME_C_IMPL(10, "ERROR") -> "longer than 10 chars" allocated 1 21 bytes, name 'foo_name_c' |
| 496 | OSMO_NAME_C_IMPL(10, NULL) -> "longer than 10 chars" allocated 1 21 bytes, name 'foo_name_c_null' |
| 497 | OSMO_NAME_C_IMPL(0, "ERROR") -> "longer than 10 chars" allocated 1 21 bytes, name 'foo_name_c_zero' |
| 498 | OSMO_NAME_C_IMPL(0, NULL) -> "longer than 10 chars" allocated 1 21 bytes, name 'foo_name_c_zero_null' |
| 499 | 2: NULL |
| 500 | OSMO_NAME_C_IMPL(10, "ERROR") -> "ERROR" allocated 1 6 bytes, name 'foo_name_c' |
| 501 | OSMO_NAME_C_IMPL(10, NULL) -> NULL allocated 0 |
| 502 | OSMO_NAME_C_IMPL(0, "ERROR") -> "ERROR" allocated 1 6 bytes, name 'foo_name_c_zero' |
| 503 | OSMO_NAME_C_IMPL(0, NULL) -> NULL allocated 0 |
Neels Hofmeyr | ff65d24 | 2019-11-19 00:21:14 +0100 | [diff] [blame] | 504 | |
| 505 | osmo_print_n_test() |
| 506 | "foo=bar" token_len=3 buf_size=100 -> token="foo" rc=3 |
| 507 | "foo" token_len=10 buf_size=100 -> token="foo" rc=3 |
| 508 | "foo" token_len=3 buf_size=100 -> token="foo" rc=3 |
| 509 | NULL token_len=10 buf_size=100 -> token="" rc=0 |
| 510 | "" token_len=10 buf_size=100 -> token="" rc=0 |
| 511 | "foo=bar" token_len=0 buf_size=100 -> token="" rc=0 |
| 512 | "foo=bar" token_len=3 buf_size=2 -> token="f" rc=3 |
| 513 | "foo" token_len=10 buf_size=2 -> token="f" rc=3 |
| 514 | "foo" token_len=3 buf_size=2 -> token="f" rc=3 |
| 515 | NULL token_len=10 buf_size=2 -> token="" rc=0 |
| 516 | "" token_len=10 buf_size=2 -> token="" rc=0 |
| 517 | "foo=bar" token_len=0 buf_size=2 -> token="" rc=0 |
| 518 | "foo=bar" token_len=3 buf_size=1 -> token="" rc=3 |
| 519 | "foo" token_len=10 buf_size=1 -> token="" rc=3 |
| 520 | "foo" token_len=3 buf_size=1 -> token="" rc=3 |
| 521 | NULL token_len=10 buf_size=1 -> token="" rc=0 |
| 522 | "" token_len=10 buf_size=1 -> token="" rc=0 |
| 523 | "foo=bar" token_len=0 buf_size=1 -> token="" rc=0 |
| 524 | "foo=bar" token_len=3 buf_size=0 -> token="unchanged" rc=3 |
| 525 | "foo" token_len=10 buf_size=0 -> token="unchanged" rc=3 |
| 526 | "foo" token_len=3 buf_size=0 -> token="unchanged" rc=3 |
| 527 | NULL token_len=10 buf_size=0 -> token="unchanged" rc=0 |
| 528 | "" token_len=10 buf_size=0 -> token="unchanged" rc=0 |
| 529 | "foo=bar" token_len=0 buf_size=0 -> token="unchanged" rc=0 |
Neels Hofmeyr | 06356fd | 2019-11-19 01:38:10 +0100 | [diff] [blame] | 530 | |
| 531 | osmo_strnchr_test() |
| 532 | osmo_strnchr("foo=bar", 8, '=') -> 3 |
| 533 | osmo_strnchr("foo=bar", 4, '=') -> 3 |
| 534 | osmo_strnchr("foo=bar", 3, '=') -> -1 |
| 535 | osmo_strnchr("foo=bar", 0, '=') -> -1 |
| 536 | osmo_strnchr("foo", 9, '=') -> -1 |
| 537 | osmo_strnchr("foo", 9, '\0') -> 3 |
Neels Hofmeyr | 87c3afb | 2020-09-30 21:47:47 +0000 | [diff] [blame] | 538 | --- test_float_str_to_int |
| 539 | osmo_float_str_to_int("0", 0) -> rc=0 val=0 |
| 540 | osmo_float_str_to_int("1", 0) -> rc=0 val=1 |
| 541 | osmo_float_str_to_int("12.345", 0) -> rc=0 val=12 |
| 542 | osmo_float_str_to_int("+12.345", 0) -> rc=0 val=12 |
| 543 | osmo_float_str_to_int("-12.345", 0) -> rc=0 val=-12 |
| 544 | osmo_float_str_to_int("0.345", 0) -> rc=0 val=0 |
| 545 | osmo_float_str_to_int(".345", 0) -> rc=0 val=0 |
| 546 | osmo_float_str_to_int("-0.345", 0) -> rc=0 val=0 |
| 547 | osmo_float_str_to_int("-.345", 0) -> rc=0 val=0 |
| 548 | osmo_float_str_to_int("12.", 0) -> rc=0 val=12 |
| 549 | osmo_float_str_to_int("-180", 0) -> rc=0 val=-180 |
| 550 | osmo_float_str_to_int("180", 0) -> rc=0 val=180 |
| 551 | osmo_float_str_to_int("360", 0) -> rc=0 val=360 |
| 552 | osmo_float_str_to_int("123.4567890123", 0) -> rc=0 val=123 |
| 553 | osmo_float_str_to_int("123.4567890123456789012345", 0) -> rc=0 val=123 |
| 554 | osmo_float_str_to_int("9223372036854775807", 0) -> rc=0 val=9223372036854775807 |
| 555 | osmo_float_str_to_int("-9223372036854775807", 0) -> rc=0 val=-9223372036854775807 |
| 556 | osmo_float_str_to_int("-9223372036854775808", 0) -> rc=-34=-ERANGE val=0 |
| 557 | osmo_float_str_to_int("9223372036854775808", 0) -> rc=-34=-ERANGE val=0 |
| 558 | osmo_float_str_to_int("-9223372036854775809", 0) -> rc=-34=-ERANGE val=0 |
| 559 | osmo_float_str_to_int("100000000000000000000", 0) -> rc=-34=-ERANGE val=0 |
| 560 | osmo_float_str_to_int("-100000000000000000000", 0) -> rc=-34=-ERANGE val=0 |
| 561 | osmo_float_str_to_int("999999999999999999999999999.99", 0) -> rc=-34=-ERANGE val=0 |
| 562 | osmo_float_str_to_int("-999999999999999999999999999.99", 0) -> rc=-34=-ERANGE val=0 |
| 563 | osmo_float_str_to_int("1.2.3", 0) -> rc=-22=-EINVAL val=0 |
| 564 | osmo_float_str_to_int("foo", 0) -> rc=-22=-EINVAL val=0 |
| 565 | osmo_float_str_to_int("1.foo", 0) -> rc=-22=-EINVAL val=0 |
| 566 | osmo_float_str_to_int("1.foo", 0) -> rc=-22=-EINVAL val=0 |
| 567 | osmo_float_str_to_int("12.-345", 0) -> rc=-22=-EINVAL val=0 |
| 568 | osmo_float_str_to_int("-12.-345", 0) -> rc=-22=-EINVAL val=0 |
| 569 | osmo_float_str_to_int("12.+345", 0) -> rc=-22=-EINVAL val=0 |
| 570 | osmo_float_str_to_int("+12.+345", 0) -> rc=-22=-EINVAL val=0 |
| 571 | osmo_float_str_to_int("", 0) -> rc=-22=-EINVAL val=0 |
| 572 | osmo_float_str_to_int(NULL, 0) -> rc=-22=-EINVAL val=0 |
| 573 | osmo_float_str_to_int("0", 1) -> rc=0 val=0 |
| 574 | osmo_float_str_to_int("1", 1) -> rc=0 val=10 |
| 575 | osmo_float_str_to_int("12.345", 1) -> rc=0 val=123 |
| 576 | osmo_float_str_to_int("+12.345", 1) -> rc=0 val=123 |
| 577 | osmo_float_str_to_int("-12.345", 1) -> rc=0 val=-123 |
| 578 | osmo_float_str_to_int("0.345", 1) -> rc=0 val=3 |
| 579 | osmo_float_str_to_int(".345", 1) -> rc=0 val=3 |
| 580 | osmo_float_str_to_int("-0.345", 1) -> rc=0 val=-3 |
| 581 | osmo_float_str_to_int("-.345", 1) -> rc=0 val=-3 |
| 582 | osmo_float_str_to_int("12.", 1) -> rc=0 val=120 |
| 583 | osmo_float_str_to_int("-180", 1) -> rc=0 val=-1800 |
| 584 | osmo_float_str_to_int("180", 1) -> rc=0 val=1800 |
| 585 | osmo_float_str_to_int("360", 1) -> rc=0 val=3600 |
| 586 | osmo_float_str_to_int("123.4567890123", 1) -> rc=0 val=1234 |
| 587 | osmo_float_str_to_int("123.4567890123456789012345", 1) -> rc=0 val=1234 |
| 588 | osmo_float_str_to_int("922337203685477580.7", 1) -> rc=0 val=9223372036854775807 |
| 589 | osmo_float_str_to_int("-922337203685477580.7", 1) -> rc=0 val=-9223372036854775807 |
| 590 | osmo_float_str_to_int("-922337203685477580.8", 1) -> rc=-34=-ERANGE val=0 |
| 591 | osmo_float_str_to_int("922337203685477580.8", 1) -> rc=-34=-ERANGE val=0 |
| 592 | osmo_float_str_to_int("-922337203685477580.9", 1) -> rc=-34=-ERANGE val=0 |
| 593 | osmo_float_str_to_int("100000000000000000000", 1) -> rc=-34=-ERANGE val=0 |
| 594 | osmo_float_str_to_int("-100000000000000000000", 1) -> rc=-34=-ERANGE val=0 |
| 595 | osmo_float_str_to_int("999999999999999999999999999.99", 1) -> rc=-34=-ERANGE val=0 |
| 596 | osmo_float_str_to_int("-999999999999999999999999999.99", 1) -> rc=-34=-ERANGE val=0 |
| 597 | osmo_float_str_to_int("1.2.3", 1) -> rc=-22=-EINVAL val=0 |
| 598 | osmo_float_str_to_int("foo", 1) -> rc=-22=-EINVAL val=0 |
| 599 | osmo_float_str_to_int("1.foo", 1) -> rc=-22=-EINVAL val=0 |
| 600 | osmo_float_str_to_int("1.foo", 1) -> rc=-22=-EINVAL val=0 |
| 601 | osmo_float_str_to_int("12.-345", 1) -> rc=-22=-EINVAL val=0 |
| 602 | osmo_float_str_to_int("-12.-345", 1) -> rc=-22=-EINVAL val=0 |
| 603 | osmo_float_str_to_int("12.+345", 1) -> rc=-22=-EINVAL val=0 |
| 604 | osmo_float_str_to_int("+12.+345", 1) -> rc=-22=-EINVAL val=0 |
| 605 | osmo_float_str_to_int("", 1) -> rc=-22=-EINVAL val=0 |
| 606 | osmo_float_str_to_int(NULL, 1) -> rc=-22=-EINVAL val=0 |
| 607 | osmo_float_str_to_int("0", 6) -> rc=0 val=0 |
| 608 | osmo_float_str_to_int("1", 6) -> rc=0 val=1000000 |
| 609 | osmo_float_str_to_int("12.345", 6) -> rc=0 val=12345000 |
| 610 | osmo_float_str_to_int("+12.345", 6) -> rc=0 val=12345000 |
| 611 | osmo_float_str_to_int("-12.345", 6) -> rc=0 val=-12345000 |
| 612 | osmo_float_str_to_int("0.345", 6) -> rc=0 val=345000 |
| 613 | osmo_float_str_to_int(".345", 6) -> rc=0 val=345000 |
| 614 | osmo_float_str_to_int("-0.345", 6) -> rc=0 val=-345000 |
| 615 | osmo_float_str_to_int("-.345", 6) -> rc=0 val=-345000 |
| 616 | osmo_float_str_to_int("12.", 6) -> rc=0 val=12000000 |
| 617 | osmo_float_str_to_int("-180", 6) -> rc=0 val=-180000000 |
| 618 | osmo_float_str_to_int("180", 6) -> rc=0 val=180000000 |
| 619 | osmo_float_str_to_int("360", 6) -> rc=0 val=360000000 |
| 620 | osmo_float_str_to_int("123.4567890123", 6) -> rc=0 val=123456789 |
| 621 | osmo_float_str_to_int("123.4567890123456789012345", 6) -> rc=0 val=123456789 |
| 622 | osmo_float_str_to_int("9223372036854.775807", 6) -> rc=0 val=9223372036854775807 |
| 623 | osmo_float_str_to_int("-9223372036854.775807", 6) -> rc=0 val=-9223372036854775807 |
| 624 | osmo_float_str_to_int("-9223372036854.775808", 6) -> rc=-34=-ERANGE val=0 |
| 625 | osmo_float_str_to_int("9223372036854.775808", 6) -> rc=-34=-ERANGE val=0 |
| 626 | osmo_float_str_to_int("-9223372036854.775809", 6) -> rc=-34=-ERANGE val=0 |
| 627 | osmo_float_str_to_int("100000000000000000000", 6) -> rc=-34=-ERANGE val=0 |
| 628 | osmo_float_str_to_int("-100000000000000000000", 6) -> rc=-34=-ERANGE val=0 |
| 629 | osmo_float_str_to_int("999999999999999999999999999.99", 6) -> rc=-34=-ERANGE val=0 |
| 630 | osmo_float_str_to_int("-999999999999999999999999999.99", 6) -> rc=-34=-ERANGE val=0 |
| 631 | osmo_float_str_to_int("1.2.3", 6) -> rc=-22=-EINVAL val=0 |
| 632 | osmo_float_str_to_int("foo", 6) -> rc=-22=-EINVAL val=0 |
| 633 | osmo_float_str_to_int("1.foo", 6) -> rc=-22=-EINVAL val=0 |
| 634 | osmo_float_str_to_int("1.foo", 6) -> rc=-22=-EINVAL val=0 |
| 635 | osmo_float_str_to_int("12.-345", 6) -> rc=-22=-EINVAL val=0 |
| 636 | osmo_float_str_to_int("-12.-345", 6) -> rc=-22=-EINVAL val=0 |
| 637 | osmo_float_str_to_int("12.+345", 6) -> rc=-22=-EINVAL val=0 |
| 638 | osmo_float_str_to_int("+12.+345", 6) -> rc=-22=-EINVAL val=0 |
| 639 | osmo_float_str_to_int("", 6) -> rc=-22=-EINVAL val=0 |
| 640 | osmo_float_str_to_int(NULL, 6) -> rc=-22=-EINVAL val=0 |
| 641 | osmo_float_str_to_int("0", 18) -> rc=0 val=0 |
| 642 | osmo_float_str_to_int("1", 18) -> rc=0 val=1000000000000000000 |
| 643 | osmo_float_str_to_int("1.2345", 18) -> rc=0 val=1234500000000000000 |
| 644 | osmo_float_str_to_int("+1.2345", 18) -> rc=0 val=1234500000000000000 |
| 645 | osmo_float_str_to_int("-1.2345", 18) -> rc=0 val=-1234500000000000000 |
| 646 | osmo_float_str_to_int("0.345", 18) -> rc=0 val=345000000000000000 |
| 647 | osmo_float_str_to_int(".345", 18) -> rc=0 val=345000000000000000 |
| 648 | osmo_float_str_to_int("-0.345", 18) -> rc=0 val=-345000000000000000 |
| 649 | osmo_float_str_to_int("-.345", 18) -> rc=0 val=-345000000000000000 |
| 650 | osmo_float_str_to_int("2.", 18) -> rc=0 val=2000000000000000000 |
| 651 | osmo_float_str_to_int("-8", 18) -> rc=0 val=-8000000000000000000 |
| 652 | osmo_float_str_to_int("1.234567890123", 18) -> rc=0 val=1234567890123000000 |
| 653 | osmo_float_str_to_int("1.234567890123456789012345", 18) -> rc=0 val=1234567890123456789 |
| 654 | osmo_float_str_to_int("123.4567890123", 18) -> rc=-34=-ERANGE val=0 |
| 655 | osmo_float_str_to_int("9.223372036854775807", 18) -> rc=0 val=9223372036854775807 |
| 656 | osmo_float_str_to_int("-9.223372036854775807", 18) -> rc=0 val=-9223372036854775807 |
| 657 | osmo_float_str_to_int("-9.223372036854775808", 18) -> rc=-34=-ERANGE val=0 |
| 658 | osmo_float_str_to_int("9.223372036854775808", 18) -> rc=-34=-ERANGE val=0 |
| 659 | osmo_float_str_to_int("-9.223372036854775809", 18) -> rc=-34=-ERANGE val=0 |
| 660 | osmo_float_str_to_int("100000000000000000000", 18) -> rc=-34=-ERANGE val=0 |
| 661 | osmo_float_str_to_int("-100000000000000000000", 18) -> rc=-34=-ERANGE val=0 |
| 662 | osmo_float_str_to_int("999999999999999999999999999.99", 18) -> rc=-34=-ERANGE val=0 |
| 663 | osmo_float_str_to_int("-999999999999999999999999999.99", 18) -> rc=-34=-ERANGE val=0 |
| 664 | osmo_float_str_to_int("1.2.3", 18) -> rc=-22=-EINVAL val=0 |
| 665 | osmo_float_str_to_int("foo", 18) -> rc=-22=-EINVAL val=0 |
| 666 | osmo_float_str_to_int("1.foo", 18) -> rc=-22=-EINVAL val=0 |
| 667 | osmo_float_str_to_int("1.foo", 18) -> rc=-22=-EINVAL val=0 |
| 668 | osmo_float_str_to_int("12.-345", 18) -> rc=-22=-EINVAL val=0 |
| 669 | osmo_float_str_to_int("-12.-345", 18) -> rc=-22=-EINVAL val=0 |
| 670 | osmo_float_str_to_int("12.+345", 18) -> rc=-22=-EINVAL val=0 |
| 671 | osmo_float_str_to_int("+12.+345", 18) -> rc=-22=-EINVAL val=0 |
| 672 | osmo_float_str_to_int("", 18) -> rc=-22=-EINVAL val=0 |
| 673 | osmo_float_str_to_int(NULL, 18) -> rc=-22=-EINVAL val=0 |
| 674 | osmo_float_str_to_int("0", 19) -> rc=0 val=0 |
| 675 | osmo_float_str_to_int(".1", 19) -> rc=0 val=1000000000000000000 |
| 676 | osmo_float_str_to_int(".12345", 19) -> rc=0 val=1234500000000000000 |
| 677 | osmo_float_str_to_int("+.12345", 19) -> rc=0 val=1234500000000000000 |
| 678 | osmo_float_str_to_int("-.12345", 19) -> rc=0 val=-1234500000000000000 |
| 679 | osmo_float_str_to_int("0.0345", 19) -> rc=0 val=345000000000000000 |
| 680 | osmo_float_str_to_int(".0345", 19) -> rc=0 val=345000000000000000 |
| 681 | osmo_float_str_to_int("-0.0345", 19) -> rc=0 val=-345000000000000000 |
| 682 | osmo_float_str_to_int("-.0345", 19) -> rc=0 val=-345000000000000000 |
| 683 | osmo_float_str_to_int(".2", 19) -> rc=0 val=2000000000000000000 |
| 684 | osmo_float_str_to_int("-.8", 19) -> rc=0 val=-8000000000000000000 |
| 685 | osmo_float_str_to_int(".1234567890123", 19) -> rc=0 val=1234567890123000000 |
| 686 | osmo_float_str_to_int(".1234567890123456789012345", 19) -> rc=0 val=1234567890123456789 |
| 687 | osmo_float_str_to_int("123.4567890123", 19) -> rc=-34=-ERANGE val=0 |
| 688 | osmo_float_str_to_int(".9223372036854775807", 19) -> rc=0 val=9223372036854775807 |
| 689 | osmo_float_str_to_int("-.9223372036854775807", 19) -> rc=0 val=-9223372036854775807 |
| 690 | osmo_float_str_to_int("-.9223372036854775808", 19) -> rc=-34=-ERANGE val=0 |
| 691 | osmo_float_str_to_int(".9223372036854775808", 19) -> rc=-34=-ERANGE val=0 |
| 692 | osmo_float_str_to_int("-.9223372036854775809", 19) -> rc=-34=-ERANGE val=0 |
| 693 | osmo_float_str_to_int("100000000000000000000", 19) -> rc=-34=-ERANGE val=0 |
| 694 | osmo_float_str_to_int("-100000000000000000000", 19) -> rc=-34=-ERANGE val=0 |
| 695 | osmo_float_str_to_int("999999999999999999999999999.99", 19) -> rc=-34=-ERANGE val=0 |
| 696 | osmo_float_str_to_int("-999999999999999999999999999.99", 19) -> rc=-34=-ERANGE val=0 |
| 697 | osmo_float_str_to_int("1.2.3", 19) -> rc=-22=-EINVAL val=0 |
| 698 | osmo_float_str_to_int("foo", 19) -> rc=-22=-EINVAL val=0 |
| 699 | osmo_float_str_to_int("1.foo", 19) -> rc=-22=-EINVAL val=0 |
| 700 | osmo_float_str_to_int("1.foo", 19) -> rc=-22=-EINVAL val=0 |
| 701 | osmo_float_str_to_int("12.-345", 19) -> rc=-22=-EINVAL val=0 |
| 702 | osmo_float_str_to_int("-12.-345", 19) -> rc=-22=-EINVAL val=0 |
| 703 | osmo_float_str_to_int("12.+345", 19) -> rc=-22=-EINVAL val=0 |
| 704 | osmo_float_str_to_int("+12.+345", 19) -> rc=-22=-EINVAL val=0 |
| 705 | osmo_float_str_to_int("", 19) -> rc=-22=-EINVAL val=0 |
| 706 | osmo_float_str_to_int(NULL, 19) -> rc=-22=-EINVAL val=0 |
| 707 | osmo_float_str_to_int("0", 20) -> rc=0 val=0 |
| 708 | osmo_float_str_to_int(".01", 20) -> rc=0 val=1000000000000000000 |
| 709 | osmo_float_str_to_int(".012345", 20) -> rc=0 val=1234500000000000000 |
| 710 | osmo_float_str_to_int("+.012345", 20) -> rc=0 val=1234500000000000000 |
| 711 | osmo_float_str_to_int("-.012345", 20) -> rc=0 val=-1234500000000000000 |
| 712 | osmo_float_str_to_int("0.00345", 20) -> rc=0 val=345000000000000000 |
| 713 | osmo_float_str_to_int(".00345", 20) -> rc=0 val=345000000000000000 |
| 714 | osmo_float_str_to_int("-0.00345", 20) -> rc=0 val=-345000000000000000 |
| 715 | osmo_float_str_to_int("-.00345", 20) -> rc=0 val=-345000000000000000 |
| 716 | osmo_float_str_to_int(".02", 20) -> rc=0 val=2000000000000000000 |
| 717 | osmo_float_str_to_int("-.08", 20) -> rc=0 val=-8000000000000000000 |
| 718 | osmo_float_str_to_int(".01234567890123", 20) -> rc=0 val=1234567890123000000 |
| 719 | osmo_float_str_to_int(".01234567890123456789012345", 20) -> rc=0 val=1234567890123456789 |
| 720 | osmo_float_str_to_int("12.34567890123", 20) -> rc=-34=-ERANGE val=0 |
| 721 | osmo_float_str_to_int(".09223372036854775807", 20) -> rc=0 val=9223372036854775807 |
| 722 | osmo_float_str_to_int("-.09223372036854775807", 20) -> rc=0 val=-9223372036854775807 |
| 723 | osmo_float_str_to_int("-.09223372036854775808", 20) -> rc=-34=-ERANGE val=0 |
| 724 | osmo_float_str_to_int(".09223372036854775808", 20) -> rc=-34=-ERANGE val=0 |
| 725 | osmo_float_str_to_int("-.09223372036854775809", 20) -> rc=-34=-ERANGE val=0 |
| 726 | osmo_float_str_to_int(".1", 20) -> rc=-34=-ERANGE val=0 |
| 727 | osmo_float_str_to_int("-.1", 20) -> rc=-34=-ERANGE val=0 |
| 728 | osmo_float_str_to_int("999999999999999999999999999.99", 20) -> rc=-34=-ERANGE val=0 |
| 729 | osmo_float_str_to_int("-999999999999999999999999999.99", 20) -> rc=-34=-ERANGE val=0 |
| 730 | osmo_float_str_to_int("1.2.3", 20) -> rc=-22=-EINVAL val=0 |
| 731 | osmo_float_str_to_int("foo", 20) -> rc=-22=-EINVAL val=0 |
| 732 | osmo_float_str_to_int("1.foo", 20) -> rc=-22=-EINVAL val=0 |
| 733 | osmo_float_str_to_int("1.foo", 20) -> rc=-22=-EINVAL val=0 |
| 734 | osmo_float_str_to_int("12.-345", 20) -> rc=-22=-EINVAL val=0 |
| 735 | osmo_float_str_to_int("-12.-345", 20) -> rc=-22=-EINVAL val=0 |
| 736 | osmo_float_str_to_int("12.+345", 20) -> rc=-22=-EINVAL val=0 |
| 737 | osmo_float_str_to_int("+12.+345", 20) -> rc=-22=-EINVAL val=0 |
| 738 | osmo_float_str_to_int("", 20) -> rc=-22=-EINVAL val=0 |
| 739 | osmo_float_str_to_int(NULL, 20) -> rc=-22=-EINVAL val=0 |
| 740 | osmo_float_str_to_int("0", 25) -> rc=0 val=0 |
| 741 | osmo_float_str_to_int(".0000001", 25) -> rc=0 val=1000000000000000000 |
| 742 | osmo_float_str_to_int(".00000012345", 25) -> rc=0 val=1234500000000000000 |
| 743 | osmo_float_str_to_int("+.00000012345", 25) -> rc=0 val=1234500000000000000 |
| 744 | osmo_float_str_to_int("-.00000012345", 25) -> rc=0 val=-1234500000000000000 |
| 745 | osmo_float_str_to_int("0.0000000345", 25) -> rc=0 val=345000000000000000 |
| 746 | osmo_float_str_to_int(".0000000345", 25) -> rc=0 val=345000000000000000 |
| 747 | osmo_float_str_to_int("-0.0000000345", 25) -> rc=0 val=-345000000000000000 |
| 748 | osmo_float_str_to_int("-.0000000345", 25) -> rc=0 val=-345000000000000000 |
| 749 | osmo_float_str_to_int(".0000002", 25) -> rc=0 val=2000000000000000000 |
| 750 | osmo_float_str_to_int("-.0000008", 25) -> rc=0 val=-8000000000000000000 |
| 751 | osmo_float_str_to_int(".0000001234567890123", 25) -> rc=0 val=1234567890123000000 |
| 752 | osmo_float_str_to_int(".0000001234567890123456789012345", 25) -> rc=0 val=1234567890123456789 |
| 753 | osmo_float_str_to_int(".0001234567890123", 25) -> rc=-34=-ERANGE val=0 |
| 754 | osmo_float_str_to_int(".0000009223372036854775807", 25) -> rc=0 val=9223372036854775807 |
| 755 | osmo_float_str_to_int("-.0000009223372036854775807", 25) -> rc=0 val=-9223372036854775807 |
| 756 | osmo_float_str_to_int("-.0000009223372036854775808", 25) -> rc=-34=-ERANGE val=0 |
| 757 | osmo_float_str_to_int(".0000009223372036854775808", 25) -> rc=-34=-ERANGE val=0 |
| 758 | osmo_float_str_to_int("-.0000009223372036854775809", 25) -> rc=-34=-ERANGE val=0 |
| 759 | osmo_float_str_to_int(".000001", 25) -> rc=-34=-ERANGE val=0 |
| 760 | osmo_float_str_to_int("-.000001", 25) -> rc=-34=-ERANGE val=0 |
| 761 | osmo_float_str_to_int("999999999999999999999999999.99", 25) -> rc=-34=-ERANGE val=0 |
| 762 | osmo_float_str_to_int("-999999999999999999999999999.99", 25) -> rc=-34=-ERANGE val=0 |
| 763 | osmo_float_str_to_int("1.2.3", 25) -> rc=-22=-EINVAL val=0 |
| 764 | osmo_float_str_to_int("foo", 25) -> rc=-22=-EINVAL val=0 |
| 765 | osmo_float_str_to_int("1.foo", 25) -> rc=-22=-EINVAL val=0 |
| 766 | osmo_float_str_to_int("1.foo", 25) -> rc=-22=-EINVAL val=0 |
| 767 | osmo_float_str_to_int("12.-345", 25) -> rc=-22=-EINVAL val=0 |
| 768 | osmo_float_str_to_int("-12.-345", 25) -> rc=-22=-EINVAL val=0 |
| 769 | osmo_float_str_to_int("12.+345", 25) -> rc=-22=-EINVAL val=0 |
| 770 | osmo_float_str_to_int("+12.+345", 25) -> rc=-22=-EINVAL val=0 |
| 771 | osmo_float_str_to_int("", 25) -> rc=-22=-EINVAL val=0 |
| 772 | osmo_float_str_to_int(NULL, 25) -> rc=-22=-EINVAL val=0 |
| 773 | --- test_int_to_float_str |
| 774 | osmo_int_to_float_str_buf(0, 0) -> rc=1 str="0" |
| 775 | osmo_int_to_float_str_buf(1, 0) -> rc=1 str="1" |
| 776 | osmo_int_to_float_str_buf(1000000, 0) -> rc=7 str="1000000" |
| 777 | osmo_int_to_float_str_buf(-1000000, 0) -> rc=8 str="-1000000" |
| 778 | osmo_int_to_float_str_buf(1000001, 0) -> rc=7 str="1000001" |
| 779 | osmo_int_to_float_str_buf(-1000001, 0) -> rc=8 str="-1000001" |
| 780 | osmo_int_to_float_str_buf(1000100, 0) -> rc=7 str="1000100" |
| 781 | osmo_int_to_float_str_buf(-1010000, 0) -> rc=8 str="-1010000" |
| 782 | osmo_int_to_float_str_buf(1100000, 0) -> rc=7 str="1100000" |
| 783 | osmo_int_to_float_str_buf(10000000, 0) -> rc=8 str="10000000" |
| 784 | osmo_int_to_float_str_buf(-10000000, 0) -> rc=9 str="-10000000" |
| 785 | osmo_int_to_float_str_buf(100000000, 0) -> rc=9 str="100000000" |
| 786 | osmo_int_to_float_str_buf(-100000000, 0) -> rc=10 str="-100000000" |
| 787 | osmo_int_to_float_str_buf(9223372036854775807, 0) -> rc=19 str="9223372036854775807" |
| 788 | osmo_int_to_float_str_buf(-9223372036854775807, 0) -> rc=20 str="-9223372036854775807" |
| 789 | osmo_int_to_float_str_buf(-9223372036854775808, 0) -> rc=4 str="-ERR" |
| 790 | osmo_int_to_float_str_buf(0, 1) -> rc=1 str="0" |
| 791 | osmo_int_to_float_str_buf(1, 1) -> rc=3 str="0.1" |
| 792 | osmo_int_to_float_str_buf(1000000, 1) -> rc=6 str="100000" |
| 793 | osmo_int_to_float_str_buf(-1000000, 1) -> rc=7 str="-100000" |
| 794 | osmo_int_to_float_str_buf(1000001, 1) -> rc=8 str="100000.1" |
| 795 | osmo_int_to_float_str_buf(-1000001, 1) -> rc=9 str="-100000.1" |
| 796 | osmo_int_to_float_str_buf(1000100, 1) -> rc=6 str="100010" |
| 797 | osmo_int_to_float_str_buf(-1010000, 1) -> rc=7 str="-101000" |
| 798 | osmo_int_to_float_str_buf(1100000, 1) -> rc=6 str="110000" |
| 799 | osmo_int_to_float_str_buf(10000000, 1) -> rc=7 str="1000000" |
| 800 | osmo_int_to_float_str_buf(-10000000, 1) -> rc=8 str="-1000000" |
| 801 | osmo_int_to_float_str_buf(100000000, 1) -> rc=8 str="10000000" |
| 802 | osmo_int_to_float_str_buf(-100000000, 1) -> rc=9 str="-10000000" |
| 803 | osmo_int_to_float_str_buf(9223372036854775807, 1) -> rc=20 str="922337203685477580.7" |
| 804 | osmo_int_to_float_str_buf(-9223372036854775807, 1) -> rc=21 str="-922337203685477580.7" |
| 805 | osmo_int_to_float_str_buf(-9223372036854775808, 1) -> rc=4 str="-ERR" |
| 806 | osmo_int_to_float_str_buf(0, 3) -> rc=1 str="0" |
| 807 | osmo_int_to_float_str_buf(1, 3) -> rc=5 str="0.001" |
| 808 | osmo_int_to_float_str_buf(1000000, 3) -> rc=4 str="1000" |
| 809 | osmo_int_to_float_str_buf(-1000000, 3) -> rc=5 str="-1000" |
| 810 | osmo_int_to_float_str_buf(1000001, 3) -> rc=8 str="1000.001" |
| 811 | osmo_int_to_float_str_buf(-1000001, 3) -> rc=9 str="-1000.001" |
| 812 | osmo_int_to_float_str_buf(1000100, 3) -> rc=6 str="1000.1" |
| 813 | osmo_int_to_float_str_buf(-1010000, 3) -> rc=5 str="-1010" |
| 814 | osmo_int_to_float_str_buf(1100000, 3) -> rc=4 str="1100" |
| 815 | osmo_int_to_float_str_buf(10000000, 3) -> rc=5 str="10000" |
| 816 | osmo_int_to_float_str_buf(-10000000, 3) -> rc=6 str="-10000" |
| 817 | osmo_int_to_float_str_buf(100000000, 3) -> rc=6 str="100000" |
| 818 | osmo_int_to_float_str_buf(-100000000, 3) -> rc=7 str="-100000" |
| 819 | osmo_int_to_float_str_buf(9223372036854775807, 3) -> rc=20 str="9223372036854775.807" |
| 820 | osmo_int_to_float_str_buf(-9223372036854775807, 3) -> rc=21 str="-9223372036854775.807" |
| 821 | osmo_int_to_float_str_buf(-9223372036854775808, 3) -> rc=4 str="-ERR" |
| 822 | osmo_int_to_float_str_buf(0, 6) -> rc=1 str="0" |
| 823 | osmo_int_to_float_str_buf(1, 6) -> rc=8 str="0.000001" |
| 824 | osmo_int_to_float_str_buf(1000000, 6) -> rc=1 str="1" |
| 825 | osmo_int_to_float_str_buf(-1000000, 6) -> rc=2 str="-1" |
| 826 | osmo_int_to_float_str_buf(1000001, 6) -> rc=8 str="1.000001" |
| 827 | osmo_int_to_float_str_buf(-1000001, 6) -> rc=9 str="-1.000001" |
| 828 | osmo_int_to_float_str_buf(1000100, 6) -> rc=6 str="1.0001" |
| 829 | osmo_int_to_float_str_buf(-1010000, 6) -> rc=5 str="-1.01" |
| 830 | osmo_int_to_float_str_buf(1100000, 6) -> rc=3 str="1.1" |
| 831 | osmo_int_to_float_str_buf(10000000, 6) -> rc=2 str="10" |
| 832 | osmo_int_to_float_str_buf(-10000000, 6) -> rc=3 str="-10" |
| 833 | osmo_int_to_float_str_buf(100000000, 6) -> rc=3 str="100" |
| 834 | osmo_int_to_float_str_buf(-100000000, 6) -> rc=4 str="-100" |
| 835 | osmo_int_to_float_str_buf(9223372036854775807, 6) -> rc=20 str="9223372036854.775807" |
| 836 | osmo_int_to_float_str_buf(-9223372036854775807, 6) -> rc=21 str="-9223372036854.775807" |
| 837 | osmo_int_to_float_str_buf(-9223372036854775808, 6) -> rc=4 str="-ERR" |
| 838 | osmo_int_to_float_str_buf(0, 17) -> rc=1 str="0" |
| 839 | osmo_int_to_float_str_buf(1, 17) -> rc=19 str="0.00000000000000001" |
| 840 | osmo_int_to_float_str_buf(1000000, 17) -> rc=13 str="0.00000000001" |
| 841 | osmo_int_to_float_str_buf(-1000000, 17) -> rc=14 str="-0.00000000001" |
| 842 | osmo_int_to_float_str_buf(1000001, 17) -> rc=19 str="0.00000000001000001" |
| 843 | osmo_int_to_float_str_buf(-1000001, 17) -> rc=20 str="-0.00000000001000001" |
| 844 | osmo_int_to_float_str_buf(1000100, 17) -> rc=17 str="0.000000000010001" |
| 845 | osmo_int_to_float_str_buf(-1010000, 17) -> rc=16 str="-0.0000000000101" |
| 846 | osmo_int_to_float_str_buf(1100000, 17) -> rc=14 str="0.000000000011" |
| 847 | osmo_int_to_float_str_buf(10000000, 17) -> rc=12 str="0.0000000001" |
| 848 | osmo_int_to_float_str_buf(-10000000, 17) -> rc=13 str="-0.0000000001" |
| 849 | osmo_int_to_float_str_buf(100000000, 17) -> rc=11 str="0.000000001" |
| 850 | osmo_int_to_float_str_buf(-100000000, 17) -> rc=12 str="-0.000000001" |
| 851 | osmo_int_to_float_str_buf(9223372036854775807, 17) -> rc=20 str="92.23372036854775807" |
| 852 | osmo_int_to_float_str_buf(-9223372036854775807, 17) -> rc=21 str="-92.23372036854775807" |
| 853 | osmo_int_to_float_str_buf(-9223372036854775808, 17) -> rc=4 str="-ERR" |
| 854 | osmo_int_to_float_str_buf(0, 18) -> rc=1 str="0" |
| 855 | osmo_int_to_float_str_buf(1, 18) -> rc=20 str="0.000000000000000001" |
| 856 | osmo_int_to_float_str_buf(1000000, 18) -> rc=14 str="0.000000000001" |
| 857 | osmo_int_to_float_str_buf(-1000000, 18) -> rc=15 str="-0.000000000001" |
| 858 | osmo_int_to_float_str_buf(1000001, 18) -> rc=20 str="0.000000000001000001" |
| 859 | osmo_int_to_float_str_buf(-1000001, 18) -> rc=21 str="-0.000000000001000001" |
| 860 | osmo_int_to_float_str_buf(1000100, 18) -> rc=18 str="0.0000000000010001" |
| 861 | osmo_int_to_float_str_buf(-1010000, 18) -> rc=17 str="-0.00000000000101" |
| 862 | osmo_int_to_float_str_buf(1100000, 18) -> rc=15 str="0.0000000000011" |
| 863 | osmo_int_to_float_str_buf(10000000, 18) -> rc=13 str="0.00000000001" |
| 864 | osmo_int_to_float_str_buf(-10000000, 18) -> rc=14 str="-0.00000000001" |
| 865 | osmo_int_to_float_str_buf(100000000, 18) -> rc=12 str="0.0000000001" |
| 866 | osmo_int_to_float_str_buf(-100000000, 18) -> rc=13 str="-0.0000000001" |
| 867 | osmo_int_to_float_str_buf(9223372036854775807, 18) -> rc=20 str="9.223372036854775807" |
| 868 | osmo_int_to_float_str_buf(-9223372036854775807, 18) -> rc=21 str="-9.223372036854775807" |
| 869 | osmo_int_to_float_str_buf(-9223372036854775808, 18) -> rc=4 str="-ERR" |
| 870 | osmo_int_to_float_str_buf(0, 19) -> rc=1 str="0" |
| 871 | osmo_int_to_float_str_buf(1, 19) -> rc=21 str="0.0000000000000000001" |
| 872 | osmo_int_to_float_str_buf(1000000, 19) -> rc=15 str="0.0000000000001" |
| 873 | osmo_int_to_float_str_buf(-1000000, 19) -> rc=16 str="-0.0000000000001" |
| 874 | osmo_int_to_float_str_buf(1000001, 19) -> rc=21 str="0.0000000000001000001" |
| 875 | osmo_int_to_float_str_buf(-1000001, 19) -> rc=22 str="-0.0000000000001000001" |
| 876 | osmo_int_to_float_str_buf(1000100, 19) -> rc=19 str="0.00000000000010001" |
| 877 | osmo_int_to_float_str_buf(-1010000, 19) -> rc=18 str="-0.000000000000101" |
| 878 | osmo_int_to_float_str_buf(1100000, 19) -> rc=16 str="0.00000000000011" |
| 879 | osmo_int_to_float_str_buf(10000000, 19) -> rc=14 str="0.000000000001" |
| 880 | osmo_int_to_float_str_buf(-10000000, 19) -> rc=15 str="-0.000000000001" |
| 881 | osmo_int_to_float_str_buf(100000000, 19) -> rc=13 str="0.00000000001" |
| 882 | osmo_int_to_float_str_buf(-100000000, 19) -> rc=14 str="-0.00000000001" |
| 883 | osmo_int_to_float_str_buf(9223372036854775807, 19) -> rc=21 str="0.9223372036854775807" |
| 884 | osmo_int_to_float_str_buf(-9223372036854775807, 19) -> rc=22 str="-0.9223372036854775807" |
| 885 | osmo_int_to_float_str_buf(-9223372036854775808, 19) -> rc=4 str="-ERR" |
| 886 | osmo_int_to_float_str_buf(0, 23) -> rc=1 str="0" |
| 887 | osmo_int_to_float_str_buf(1, 23) -> rc=25 str="0.00000000000000000000001" |
| 888 | osmo_int_to_float_str_buf(1000000, 23) -> rc=19 str="0.00000000000000001" |
| 889 | osmo_int_to_float_str_buf(-1000000, 23) -> rc=20 str="-0.00000000000000001" |
| 890 | osmo_int_to_float_str_buf(1000001, 23) -> rc=25 str="0.00000000000000001000001" |
| 891 | osmo_int_to_float_str_buf(-1000001, 23) -> rc=26 str="-0.00000000000000001000001" |
| 892 | osmo_int_to_float_str_buf(1000100, 23) -> rc=23 str="0.000000000000000010001" |
| 893 | osmo_int_to_float_str_buf(-1010000, 23) -> rc=22 str="-0.0000000000000000101" |
| 894 | osmo_int_to_float_str_buf(1100000, 23) -> rc=20 str="0.000000000000000011" |
| 895 | osmo_int_to_float_str_buf(10000000, 23) -> rc=18 str="0.0000000000000001" |
| 896 | osmo_int_to_float_str_buf(-10000000, 23) -> rc=19 str="-0.0000000000000001" |
| 897 | osmo_int_to_float_str_buf(100000000, 23) -> rc=17 str="0.000000000000001" |
| 898 | osmo_int_to_float_str_buf(-100000000, 23) -> rc=18 str="-0.000000000000001" |
| 899 | osmo_int_to_float_str_buf(9223372036854775807, 23) -> rc=25 str="0.00009223372036854775807" |
| 900 | osmo_int_to_float_str_buf(-9223372036854775807, 23) -> rc=26 str="-0.00009223372036854775807" |
| 901 | osmo_int_to_float_str_buf(-9223372036854775808, 23) -> rc=4 str="-ERR" |
Neels Hofmeyr | 4777334 | 2021-09-05 18:48:31 +0200 | [diff] [blame] | 902 | --- test_str_to_int |
| 903 | osmo_str_to_int(NULL, 10, -1000, 1000) -> rc=-22=-EINVAL val=0 |
| 904 | osmo_str_to_int("", 10, -1000, 1000) -> rc=-22=-EINVAL val=0 |
| 905 | osmo_str_to_int(" ", 10, -1000, 1000) -> rc=-22=-EINVAL val=0 |
| 906 | osmo_str_to_int("-", 10, -1000, 1000) -> rc=-22=-EINVAL val=0 |
| 907 | osmo_str_to_int("--", 10, -1000, 1000) -> rc=-22=-EINVAL val=0 |
| 908 | osmo_str_to_int("+", 10, -1000, 1000) -> rc=-22=-EINVAL val=0 |
| 909 | osmo_str_to_int("++", 10, -1000, 1000) -> rc=-22=-EINVAL val=0 |
| 910 | osmo_str_to_int("0", 10, -1000, 1000) -> rc=0 val=0 |
| 911 | osmo_str_to_int("1", 10, -1000, 1000) -> rc=0 val=1 |
| 912 | osmo_str_to_int("+1", 10, -1000, 1000) -> rc=0 val=1 |
| 913 | osmo_str_to_int("-1", 10, -1000, 1000) -> rc=0 val=-1 |
| 914 | osmo_str_to_int("1000", 10, -1000, 1000) -> rc=0 val=1000 |
| 915 | osmo_str_to_int("+1000", 10, -1000, 1000) -> rc=0 val=1000 |
| 916 | osmo_str_to_int("-1000", 10, -1000, 1000) -> rc=0 val=-1000 |
| 917 | osmo_str_to_int("1001", 10, -1000, 1000) -> rc=-34=-ERANGE val=1001 |
| 918 | osmo_str_to_int("+1001", 10, -1000, 1000) -> rc=-34=-ERANGE val=1001 |
| 919 | osmo_str_to_int("-1001", 10, -1000, 1000) -> rc=-34=-ERANGE val=-1001 |
| 920 | osmo_str_to_int("0", 16, -1000, 1000) -> rc=0 val=0 |
| 921 | osmo_str_to_int("1", 16, -1000, 1000) -> rc=0 val=1 |
| 922 | osmo_str_to_int("0x1", 16, -1000, 1000) -> rc=0 val=1 |
| 923 | osmo_str_to_int("+1", 16, -1000, 1000) -> rc=0 val=1 |
| 924 | osmo_str_to_int("-1", 16, -1000, 1000) -> rc=0 val=-1 |
| 925 | osmo_str_to_int("+0x1", 16, -1000, 1000) -> rc=0 val=1 |
| 926 | osmo_str_to_int("-0x1", 16, -1000, 1000) -> rc=0 val=-1 |
| 927 | osmo_str_to_int("3e8", 16, -1000, 1000) -> rc=0 val=1000 |
| 928 | osmo_str_to_int("3E8", 16, -1000, 1000) -> rc=0 val=1000 |
| 929 | osmo_str_to_int("0x3e8", 16, -1000, 1000) -> rc=0 val=1000 |
| 930 | osmo_str_to_int("0x3E8", 16, -1000, 1000) -> rc=0 val=1000 |
| 931 | osmo_str_to_int("+3e8", 16, -1000, 1000) -> rc=0 val=1000 |
| 932 | osmo_str_to_int("+3E8", 16, -1000, 1000) -> rc=0 val=1000 |
| 933 | osmo_str_to_int("+0x3e8", 16, -1000, 1000) -> rc=0 val=1000 |
| 934 | osmo_str_to_int("+0x3E8", 16, -1000, 1000) -> rc=0 val=1000 |
| 935 | osmo_str_to_int("-3e8", 16, -1000, 1000) -> rc=0 val=-1000 |
| 936 | osmo_str_to_int("-3E8", 16, -1000, 1000) -> rc=0 val=-1000 |
| 937 | osmo_str_to_int("-0x3e8", 16, -1000, 1000) -> rc=0 val=-1000 |
| 938 | osmo_str_to_int("-0x3E8", 16, -1000, 1000) -> rc=0 val=-1000 |
| 939 | osmo_str_to_int("3e9", 16, -1000, 1000) -> rc=-34=-ERANGE val=1001 |
| 940 | osmo_str_to_int("3E9", 16, -1000, 1000) -> rc=-34=-ERANGE val=1001 |
| 941 | osmo_str_to_int("0x3e9", 16, -1000, 1000) -> rc=-34=-ERANGE val=1001 |
| 942 | osmo_str_to_int("0x3E9", 16, -1000, 1000) -> rc=-34=-ERANGE val=1001 |
| 943 | osmo_str_to_int("+3e9", 16, -1000, 1000) -> rc=-34=-ERANGE val=1001 |
| 944 | osmo_str_to_int("+3E9", 16, -1000, 1000) -> rc=-34=-ERANGE val=1001 |
| 945 | osmo_str_to_int("+0x3e9", 16, -1000, 1000) -> rc=-34=-ERANGE val=1001 |
| 946 | osmo_str_to_int("+0x3E9", 16, -1000, 1000) -> rc=-34=-ERANGE val=1001 |
| 947 | osmo_str_to_int("-3e9", 16, -1000, 1000) -> rc=-34=-ERANGE val=-1001 |
| 948 | osmo_str_to_int("-3E9", 16, -1000, 1000) -> rc=-34=-ERANGE val=-1001 |
| 949 | osmo_str_to_int("-0x3e9", 16, -1000, 1000) -> rc=-34=-ERANGE val=-1001 |
| 950 | osmo_str_to_int("-0x3E9", 16, -1000, 1000) -> rc=-34=-ERANGE val=-1001 |
| 951 | osmo_str_to_int("garble", 10, -1000, 1000) -> rc=-22=-EINVAL val=0 |
| 952 | osmo_str_to_int("-garble", 10, -1000, 1000) -> rc=-22=-EINVAL val=0 |
| 953 | osmo_str_to_int("0x123", 10, -1000, 1000) -> rc=-7=-E2BIG val=0 |
| 954 | osmo_str_to_int("123potatoes", 10, -1000, 1000) -> rc=-7=-E2BIG val=123 |
| 955 | osmo_str_to_int("123 potatoes", 10, -1000, 1000) -> rc=-7=-E2BIG val=123 |
| 956 | osmo_str_to_int("123 ", 10, -1000, 1000) -> rc=-7=-E2BIG val=123 |
| 957 | osmo_str_to_int("123.4", 10, -1000, 1000) -> rc=-7=-E2BIG val=123 |
| 958 | --- test_str_to_int64 |
| 959 | osmo_str_to_int64(NULL, 10, -1000, 1000) -> rc=-22=-EINVAL val=0 |
| 960 | osmo_str_to_int64("", 10, -1000, 1000) -> rc=-22=-EINVAL val=0 |
| 961 | osmo_str_to_int64(" ", 10, -1000, 1000) -> rc=-22=-EINVAL val=0 |
| 962 | osmo_str_to_int64("-", 10, -1000, 1000) -> rc=-22=-EINVAL val=0 |
| 963 | osmo_str_to_int64("--", 10, -1000, 1000) -> rc=-22=-EINVAL val=0 |
| 964 | osmo_str_to_int64("+", 10, -1000, 1000) -> rc=-22=-EINVAL val=0 |
| 965 | osmo_str_to_int64("++", 10, -1000, 1000) -> rc=-22=-EINVAL val=0 |
| 966 | osmo_str_to_int64("0", 10, -1000, 1000) -> rc=0 val=0 |
| 967 | osmo_str_to_int64("1", 10, -1000, 1000) -> rc=0 val=1 |
| 968 | osmo_str_to_int64("+1", 10, -1000, 1000) -> rc=0 val=1 |
| 969 | osmo_str_to_int64("-1", 10, -1000, 1000) -> rc=0 val=-1 |
| 970 | osmo_str_to_int64("1000", 10, -1000, 1000) -> rc=0 val=1000 |
| 971 | osmo_str_to_int64("+1000", 10, -1000, 1000) -> rc=0 val=1000 |
| 972 | osmo_str_to_int64("-1000", 10, -1000, 1000) -> rc=0 val=-1000 |
| 973 | osmo_str_to_int64("1001", 10, -1000, 1000) -> rc=-34=-ERANGE val=1001 |
| 974 | osmo_str_to_int64("+1001", 10, -1000, 1000) -> rc=-34=-ERANGE val=1001 |
| 975 | osmo_str_to_int64("-1001", 10, -1000, 1000) -> rc=-34=-ERANGE val=-1001 |
| 976 | osmo_str_to_int64("0", 16, -1000, 1000) -> rc=0 val=0 |
| 977 | osmo_str_to_int64("1", 16, -1000, 1000) -> rc=0 val=1 |
| 978 | osmo_str_to_int64("0x1", 16, -1000, 1000) -> rc=0 val=1 |
| 979 | osmo_str_to_int64("+1", 16, -1000, 1000) -> rc=0 val=1 |
| 980 | osmo_str_to_int64("-1", 16, -1000, 1000) -> rc=0 val=-1 |
| 981 | osmo_str_to_int64("+0x1", 16, -1000, 1000) -> rc=0 val=1 |
| 982 | osmo_str_to_int64("-0x1", 16, -1000, 1000) -> rc=0 val=-1 |
| 983 | osmo_str_to_int64("3e8", 16, -1000, 1000) -> rc=0 val=1000 |
| 984 | osmo_str_to_int64("3E8", 16, -1000, 1000) -> rc=0 val=1000 |
| 985 | osmo_str_to_int64("0x3e8", 16, -1000, 1000) -> rc=0 val=1000 |
| 986 | osmo_str_to_int64("0x3E8", 16, -1000, 1000) -> rc=0 val=1000 |
| 987 | osmo_str_to_int64("+3e8", 16, -1000, 1000) -> rc=0 val=1000 |
| 988 | osmo_str_to_int64("+3E8", 16, -1000, 1000) -> rc=0 val=1000 |
| 989 | osmo_str_to_int64("+0x3e8", 16, -1000, 1000) -> rc=0 val=1000 |
| 990 | osmo_str_to_int64("+0x3E8", 16, -1000, 1000) -> rc=0 val=1000 |
| 991 | osmo_str_to_int64("-3e8", 16, -1000, 1000) -> rc=0 val=-1000 |
| 992 | osmo_str_to_int64("-3E8", 16, -1000, 1000) -> rc=0 val=-1000 |
| 993 | osmo_str_to_int64("-0x3e8", 16, -1000, 1000) -> rc=0 val=-1000 |
| 994 | osmo_str_to_int64("-0x3E8", 16, -1000, 1000) -> rc=0 val=-1000 |
| 995 | osmo_str_to_int64("3e9", 16, -1000, 1000) -> rc=-34=-ERANGE val=1001 |
| 996 | osmo_str_to_int64("3E9", 16, -1000, 1000) -> rc=-34=-ERANGE val=1001 |
| 997 | osmo_str_to_int64("0x3e9", 16, -1000, 1000) -> rc=-34=-ERANGE val=1001 |
| 998 | osmo_str_to_int64("0x3E9", 16, -1000, 1000) -> rc=-34=-ERANGE val=1001 |
| 999 | osmo_str_to_int64("+3e9", 16, -1000, 1000) -> rc=-34=-ERANGE val=1001 |
| 1000 | osmo_str_to_int64("+3E9", 16, -1000, 1000) -> rc=-34=-ERANGE val=1001 |
| 1001 | osmo_str_to_int64("+0x3e9", 16, -1000, 1000) -> rc=-34=-ERANGE val=1001 |
| 1002 | osmo_str_to_int64("+0x3E9", 16, -1000, 1000) -> rc=-34=-ERANGE val=1001 |
| 1003 | osmo_str_to_int64("-3e9", 16, -1000, 1000) -> rc=-34=-ERANGE val=-1001 |
| 1004 | osmo_str_to_int64("-3E9", 16, -1000, 1000) -> rc=-34=-ERANGE val=-1001 |
| 1005 | osmo_str_to_int64("-0x3e9", 16, -1000, 1000) -> rc=-34=-ERANGE val=-1001 |
| 1006 | osmo_str_to_int64("-0x3E9", 16, -1000, 1000) -> rc=-34=-ERANGE val=-1001 |
| 1007 | osmo_str_to_int64("garble", 10, -1000, 1000) -> rc=-22=-EINVAL val=0 |
| 1008 | osmo_str_to_int64("-garble", 10, -1000, 1000) -> rc=-22=-EINVAL val=0 |
| 1009 | osmo_str_to_int64("0x123", 10, -1000, 1000) -> rc=-7=-E2BIG val=0 |
| 1010 | osmo_str_to_int64("123potatoes", 10, -1000, 1000) -> rc=-7=-E2BIG val=123 |
| 1011 | osmo_str_to_int64("123 potatoes", 10, -1000, 1000) -> rc=-7=-E2BIG val=123 |
| 1012 | osmo_str_to_int64("123 ", 10, -1000, 1000) -> rc=-7=-E2BIG val=123 |
| 1013 | osmo_str_to_int64("123.4", 10, -1000, 1000) -> rc=-7=-E2BIG val=123 |
| 1014 | osmo_str_to_int64("-9223372036854775808", 10, -9223372036854775808, 9223372036854775807) -> rc=0 val=-9223372036854775808 |
| 1015 | osmo_str_to_int64("9223372036854775807", 10, -9223372036854775808, 9223372036854775807) -> rc=0 val=9223372036854775807 |
| 1016 | osmo_str_to_int64("-9223372036854775809", 10, -9223372036854775808, 9223372036854775807) -> rc=-75=-EOVERFLOW val=-9223372036854775808 |
| 1017 | osmo_str_to_int64("9223372036854775808", 10, -9223372036854775808, 9223372036854775807) -> rc=-75=-EOVERFLOW val=9223372036854775807 |
| 1018 | osmo_str_to_int64("-9223372036854775808", 10, -1000, 1000) -> rc=-34=-ERANGE val=-9223372036854775808 |
| 1019 | osmo_str_to_int64("9223372036854775807", 10, -1000, 1000) -> rc=-34=-ERANGE val=9223372036854775807 |
| 1020 | osmo_str_to_int64("-9223372036854775809", 10, -1000, 1000) -> rc=-75=-EOVERFLOW val=-9223372036854775808 |
| 1021 | osmo_str_to_int64("9223372036854775808", 10, -1000, 1000) -> rc=-75=-EOVERFLOW val=9223372036854775807 |