aboutsummaryrefslogtreecommitdiffstats
path: root/tests/utils/utils_test.ok
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2019-02-11 20:32:06 +0100
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2019-02-17 20:40:17 +0000
commit2cbe25f4844c82930078bbada753a9b079bf287b (patch)
tree57705cf8e662610843f9540e6909cc143e31f556 /tests/utils/utils_test.ok
parent8667f7a815bb4d968f23d85d7428495eb0289d61 (diff)
add OSMO_STRBUF_PRINTF()
We are using macros like this or different workarounds in libmsc. In the course of implementing inter-MSC handover, I am encountering yet another such situation of appending multiple strings to a limited char buffer. Standardize. Add a unit test to utils_test.c. Change-Id: I2497514e26c5e7a5d88985fc7e58343be1a027b2
Diffstat (limited to 'tests/utils/utils_test.ok')
-rw-r--r--tests/utils/utils_test.ok17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/utils/utils_test.ok b/tests/utils/utils_test.ok
index 8d7ced83..1215ddd1 100644
--- a/tests/utils/utils_test.ok
+++ b/tests/utils/utils_test.ok
@@ -325,3 +325,20 @@ osmo_str_toupper_buf(28, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@
= 62, "ABCDEFGHIJKLMNOPQRSTUVWXYZA"
osmo_str_toupper_buf(28, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()", in-place)
= 27, "ABCDEFGHIJKLMNOPQRSTUVWXYZA"
+
+strbuf_test
+OSMO_STRBUF_APPEND():
+ The answer is 42
+would have needed 423470 bytes
+
+OSMO_STRBUF_PRINTF():
+1: (need 42 chars, had size=23) T minus 10 9 8 7 6 5 4
+2: (need 42 chars, had size=42) T minus 10 9 8 7 6 5 4 3 2 1 ... Lift off
+3: (need 42 chars, had size=42+1) T minus 10 9 8 7 6 5 4 3 2 1 ... Lift off!
+4: (need 42 chars, had size=0) 0x2b 0x2b 0x2b...
+5: (need 42 chars, had NULL buffer)
+
+cascade:
+(need 134 chars)
+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!
+(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