From 2c4a20e71b337bdff5898929d3caed260b10c6ea Mon Sep 17 00:00:00 2001 From: nicoan Date: Wed, 15 Apr 2026 15:38:40 -0300 Subject: [PATCH] added tests to scanf and wscanf --- .../expected/bins_dynamic/stdio/scanf.stdout | 10 ++++++---- .../expected/bins_dynamic/wchar/wscanf.stdout | Bin 4185 -> 4414 bytes tests/expected/bins_static/stdio/scanf.stdout | 10 ++++++---- .../expected/bins_static/wchar/wscanf.stdout | Bin 4185 -> 4414 bytes tests/stdio/scanf.c | 2 ++ tests/wchar/wscanf.c | 1 + 6 files changed, 15 insertions(+), 8 deletions(-) diff --git a/tests/expected/bins_dynamic/stdio/scanf.stdout b/tests/expected/bins_dynamic/stdio/scanf.stdout index 97bcc1af63..dca295ccb5 100644 --- a/tests/expected/bins_dynamic/stdio/scanf.stdout +++ b/tests/expected/bins_dynamic/stdio/scanf.stdout @@ -7,8 +7,10 @@ 2, { sa: 12, ia: 15, ib: 837, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: elllo, string2: , string3: , string4: } 1, { sa: 12, ia: 0, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: elllo, string2: , string3: , string4: } 0, { sa: 12, ia: 0, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: elllo, string2: , string3: , string4: } -4, { sa: 12, ia: 0, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: e, string2: o, string3: l, string4: d } -4, { sa: 12, ia: 0, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: a, string2: e, string3: f, string4: dddddd } -4, { sa: 12, ia: 0, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: a, string2: e, string3: f, string4: dddddd } -1, { sa: 12, ia: 0, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: testbbbb, string2: e, string3: f, string4: dddddd } +2, { sa: 12, ia: 42, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: world, string2: , string3: , string4: } +2, { sa: 12, ia: 84, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: world, string2: planet, string3: , string4: } +4, { sa: 12, ia: 84, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: e, string2: o, string3: l, string4: d } +4, { sa: 12, ia: 84, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: a, string2: e, string3: f, string4: dddddd } +4, { sa: 12, ia: 84, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: a, string2: e, string3: f, string4: dddddd } +1, { sa: 12, ia: 84, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: testbbbb, string2: e, string3: f, string4: dddddd } 3 "https" "//" "redox-os.org" "" diff --git a/tests/expected/bins_dynamic/wchar/wscanf.stdout b/tests/expected/bins_dynamic/wchar/wscanf.stdout index 57f4cd5992a9f503b2b502cef4202a4135641785..90abc9a7f6599960cae1452846e7df0076fc6949 100644 GIT binary patch delta 124 zcmcbquuo}20Ow?FHbEu}lS$k$ljpD*O`gdu$X1Y(n3q~InUPBeDzTr_2~)6}%N-`T fkX?H6d1i<)tB?g@X3v~l$m0bzZ06=LUS?(hXKE$R delta 80 zcmdm|bW>qN0Ow>I0l~>rIN~Qy=5m}|%OVZs$4yS*b_es%GlS&gCjaBLoji+M5GbYt Q=ZEonf!Le>@j5UA0C`3nlK=n! diff --git a/tests/expected/bins_static/stdio/scanf.stdout b/tests/expected/bins_static/stdio/scanf.stdout index 97bcc1af63..dca295ccb5 100644 --- a/tests/expected/bins_static/stdio/scanf.stdout +++ b/tests/expected/bins_static/stdio/scanf.stdout @@ -7,8 +7,10 @@ 2, { sa: 12, ia: 15, ib: 837, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: elllo, string2: , string3: , string4: } 1, { sa: 12, ia: 0, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: elllo, string2: , string3: , string4: } 0, { sa: 12, ia: 0, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: elllo, string2: , string3: , string4: } -4, { sa: 12, ia: 0, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: e, string2: o, string3: l, string4: d } -4, { sa: 12, ia: 0, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: a, string2: e, string3: f, string4: dddddd } -4, { sa: 12, ia: 0, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: a, string2: e, string3: f, string4: dddddd } -1, { sa: 12, ia: 0, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: testbbbb, string2: e, string3: f, string4: dddddd } +2, { sa: 12, ia: 42, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: world, string2: , string3: , string4: } +2, { sa: 12, ia: 84, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: world, string2: planet, string3: , string4: } +4, { sa: 12, ia: 84, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: e, string2: o, string3: l, string4: d } +4, { sa: 12, ia: 84, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: a, string2: e, string3: f, string4: dddddd } +4, { sa: 12, ia: 84, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: a, string2: e, string3: f, string4: dddddd } +1, { sa: 12, ia: 84, ib: 8, ic: 8, fa: 0.100000, da: 0.200000, ptr: 0xabcdef, char: h, string1: testbbbb, string2: e, string3: f, string4: dddddd } 3 "https" "//" "redox-os.org" "" diff --git a/tests/expected/bins_static/wchar/wscanf.stdout b/tests/expected/bins_static/wchar/wscanf.stdout index 57f4cd5992a9f503b2b502cef4202a4135641785..90abc9a7f6599960cae1452846e7df0076fc6949 100644 GIT binary patch delta 124 zcmcbquuo}20Ow?FHbEu}lS$k$ljpD*O`gdu$X1Y(n3q~InUPBeDzTr_2~)6}%N-`T fkX?H6d1i<)tB?g@X3v~l$m0bzZ06=LUS?(hXKE$R delta 80 zcmdm|bW>qN0Ow>I0l~>rIN~Qy=5m}|%OVZs$4yS*b_es%GlS&gCjaBLoji+M5GbYt Q=ZEonf!Le>@j5UA0C`3nlK=n! diff --git a/tests/stdio/scanf.c b/tests/stdio/scanf.c index 9102cb82fc..6a02557383 100644 --- a/tests/stdio/scanf.c +++ b/tests/stdio/scanf.c @@ -42,6 +42,8 @@ int main(void) { test("%c%3c", "hello", &p, &p.c, &p.string1); test("test: %2i%n", "test: 0xFF", &p, &p.ia, &p.ib); test("hello world%%", "hello world%", &p); + test("hello %5ls %d", "hello world 42", &p, &p.string1, &p.ia); + test("bye %ls %d", "bye planet 84", &p, &p.string2, &p.ia); test("h%1[ae]ll%1[^a] wor%1[^\n]%[d]", "hello world", &p, &p.string1, &p.string2, &p.string3, &p.string4); test("h%1[ae]ll%1[^a] wor%1[^\n]%[d]", "halle worfdddddd", &p, &p.string1, &p.string2, &p.string3, &p.string4); test("h%1[ae]ll%1[^a] wor%1[^\n]%[d]", "halle worfdddddd", &p, &p.string1, &p.string2, &p.string3, &p.string4); diff --git a/tests/wchar/wscanf.c b/tests/wchar/wscanf.c index 31da201dcf..f78ed5b879 100644 --- a/tests/wchar/wscanf.c +++ b/tests/wchar/wscanf.c @@ -57,6 +57,7 @@ int main () test(L"test: %2i%n", L"test: 0xFF", &p, &p.ia, &p.ib); test(L"hello world%%", L"hello world%", &p); test(L"hello %5ls %d", L"hello world 42", &p, &p.wstring1, &p.ia); + test(L"bye %ls %d", L"bye planet 84", &p, &p.wstring2, &p.ia); test(L"h%1[ae]ll%1[^a] wor%1[^\n]%[d]", L"hello world", &p, &p.string1, &p.string2, &p.string3, &p.string4); test(L"h%1[ae]ll%1[^a] wor%1[^\n]%[d]", L"halle worfdddddd", &p, &p.string1, &p.string2, &p.string3, &p.string4); test(L"%[^a]%[b]", L"testbbbb", &p, &p.string1, &p.string2);