- p2 = tal_arr(p1, char, 1);
- ok1(p2);
- ok1(tal_count(p2) == 1);
- ok1(tal_resize(&p2, 2));
- ok1(tal_count(p2) == 2);
- ok1(tal_check(NULL, NULL));
- tal_free(p2);
-
- p2 = tal_arrz(p1, char, 7);
- ok1(p2);
- ok1(tal_count(p2) == 7);
- ok1(tal_resize(&p2, 0));
- ok1(tal_count(p2) == 0);
- ok1(tal_check(NULL, NULL));
- tal_free(p2);
- tal_free(p1);
+ for (i = 0; i < 3; i++) {
+ move = i;
+
+ p1 = tal(NULL, char);
+ ok1(p1);
+ ok1(tal_count(p1) == 0);
+
+ p2 = tal_arr(p1, char, 1);
+ ok1(p2);
+ ok1(tal_count(p2) == 1);
+ ok1(tal_resize(&p2, 2));
+ ok1(tal_count(p2) == 2);
+ ok1(tal_check(NULL, NULL));
+ tal_free(p2);
+
+ /* Resize twice. */
+ p2 = tal_arrz(p1, char, 7);
+ ok1(p2);
+ ok1(tal_count(p2) == 7);
+ ok1(tal_check(NULL, NULL));
+ tal_resize(&p2, 20);
+ ok1(p2);
+ ok1(tal_check(NULL, NULL));
+ ok1(tal_count(p2) == 20);
+ /* Tickles non-moving logic, as we do not update bounds. */
+ if (i == 2)
+ move = false;
+ tal_resize(&p2, 300);
+ ok1(p2);
+ ok1(tal_check(NULL, NULL));
+ ok1(tal_count(p2) == 300);
+ ok1(tal_resize(&p2, 0));
+ ok1(tal_count(p2) == 0);
+ ok1(tal_check(NULL, NULL));
+ tal_free(p2);
+ tal_free(p1);
+ }