aboutsummaryrefslogtreecommitdiffstats
path: root/libtest/libtest_set_alloc_failure_in.c
diff options
context:
space:
mode:
Diffstat (limited to 'libtest/libtest_set_alloc_failure_in.c')
-rw-r--r--libtest/libtest_set_alloc_failure_in.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/libtest/libtest_set_alloc_failure_in.c b/libtest/libtest_set_alloc_failure_in.c
new file mode 100644
index 0000000..9811456
--- /dev/null
+++ b/libtest/libtest_set_alloc_failure_in.c
@@ -0,0 +1,32 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#ifndef TEST
+
+
+void
+libtest_set_alloc_failure_in(size_t n)
+{
+ libtest_malloc_fail_in = n;
+}
+
+
+#else
+
+
+int
+main(void)
+{
+ EXPECT(libtest_malloc_fail_in == 0u);
+ libtest_set_alloc_failure_in(4u);
+ EXPECT(libtest_malloc_fail_in == 4u);
+ libtest_set_alloc_failure_in(4u);
+ EXPECT(libtest_malloc_fail_in == 4u);
+ libtest_set_alloc_failure_in(0u);
+ EXPECT(libtest_malloc_fail_in == 0u);
+ libtest_set_alloc_failure_in(0u);
+ EXPECT(libtest_malloc_fail_in == 0u);
+ return 0;
+}
+
+
+#endif