summaryrefslogtreecommitdiff
path: root/tests/term_test.c
diff options
context:
space:
mode:
authorBerke Güzel <wenekar1@gmail.com>2026-10-15 12:38:28 +0300
committerBerke Güzel <wenekar1@gmail.com>2026-10-15 12:38:28 +0300
commit86b1eed7dd946d6054eff37cdb7b4a784283e23b (patch)
treea8ce1c995aed62d2e67a48a10dee112788b32ff1 /tests/term_test.c
parent1924e4e0c9c863b641f08224f740feb51bf1bc7d (diff)
parent57ebf3b3238a165c1973ecdf96ba79f95d650fc9 (diff)
Merge branch 'wt/abi-version' into api-hardening
Diffstat (limited to 'tests/term_test.c')
-rw-r--r--tests/term_test.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/term_test.c b/tests/term_test.c
index b904148..7b531b1 100644
--- a/tests/term_test.c
+++ b/tests/term_test.c
@@ -1881,8 +1881,30 @@ static void test_concurrent_feed_and_snapshot(void)
term_free(t);
}
+static void test_reserved_options_must_be_zero(void)
+{
+ struct term_options opt = { .size = { .x = 10, .y = 2 } };
+ struct term *t = term_new(&opt);
+ assert(t != NULL);
+ term_free(t);
+
+ size_t words = sizeof(opt.reserved) / sizeof(opt.reserved[0]);
+ for (size_t i = 0; i < words; i++) {
+ opt.reserved[i] = 1;
+ assert(term_new(&opt) == NULL);
+ opt.reserved[i] = 0;
+ }
+ opt.reserved[words - 1] = 0x80000000u;
+ assert(term_new(&opt) == NULL);
+ opt.reserved[words - 1] = 0;
+ t = term_new(&opt);
+ assert(t != NULL);
+ term_free(t);
+}
+
int main(void)
{
+ test_reserved_options_must_be_zero();
test_concurrent_feed_and_snapshot();
test_grow_past_reservation();
test_skipped_cells_read_blank();