/* SilcStack tests */
-#include "silc.h"
+#include "silcruntime.h"
#define NUM_ALLS 300
stack = silc_stack_alloc(0, NULL);
if (!stack)
goto err;
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(stack);
+#endif /* SILC_DIST_INPLACE */
SILC_LOG_DEBUG(("Allocating 2048 bytes from stack"));
ptr = silc_smalloc(stack, 2048);
if (!ptr)
goto err;
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(stack);
+#endif /* SILC_DIST_INPLACE */
SILC_LOG_DEBUG(("Freeing the stack"));
silc_stack_free(stack);
stack = silc_stack_alloc(0, NULL);
if (!stack)
goto err;
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(stack);
+#endif /* SILC_DIST_INPLACE */
SILC_LOG_DEBUG(("Pushing and allocating %d times", NUM_ALLS));
if (!silc_stack_push(stack, NULL))
if (!ptr2)
goto err;
}
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(stack);
+#endif /* SILC_DIST_INPLACE */
silc_stack_pop(stack);
SILC_LOG_DEBUG(("Popping"));
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(stack);
+#endif /* SILC_DIST_INPLACE */
SILC_LOG_DEBUG(("Pushing and allocating %d times", NUM_ALLS));
if (!silc_stack_push(stack, NULL))
if (!ptr2)
goto err;
}
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(stack);
+#endif /* SILC_DIST_INPLACE */
silc_stack_pop(stack);
SILC_LOG_DEBUG(("Popping"));
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(stack);
+#endif /* SILC_DIST_INPLACE */
SILC_LOG_DEBUG(("Pushing %d times", NUM_ALLS / 2));
for (i = 0; i < NUM_ALLS / 2; i++) {
if (!ptr2)
goto err;
}
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(stack);
+#endif /* SILC_DIST_INPLACE */
SILC_LOG_DEBUG(("Popping %d times", NUM_ALLS / 2));
for (i = 0; i < NUM_ALLS / 2; i++)
silc_stack_pop(stack);
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(stack);
+#endif /* SILC_DIST_INPLACE */
SILC_LOG_DEBUG(("Pushing and reallocating %d times", NUM_ALLS / 10));
ptr2 = NULL;
if (!ptr2)
goto err;
}
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(stack);
+#endif /* SILC_DIST_INPLACE */
silc_stack_pop(stack);
SILC_LOG_DEBUG(("Popping"));
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(stack);
+#endif /* SILC_DIST_INPLACE */
SILC_LOG_DEBUG(("Creating child stack"));
child = silc_stack_alloc(8190, stack);
if (!ptr2)
goto err;
}
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(child);
+#endif /* SILC_DIST_INPLACE */
SILC_LOG_DEBUG(("Popping %d times", NUM_ALLS / 2));
for (i = 0; i < NUM_ALLS / 2; i++)
silc_stack_pop(child);
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(child);
+#endif /* SILC_DIST_INPLACE */
SILC_LOG_DEBUG(("Pushing and reallocating %d times", NUM_ALLS / 10));
ptr2 = NULL;
goto err;
}
ptr = silc_smalloc(child, 100000);
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(child);
+#endif /* SILC_DIST_INPLACE */
silc_stack_pop(child);
SILC_LOG_DEBUG(("Popping"));
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(child);
+#endif /* SILC_DIST_INPLACE */
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(stack);
+#endif /* SILC_DIST_INPLACE */
silc_stack_free(child);
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(stack);
+#endif /* SILC_DIST_INPLACE */
SILC_LOG_DEBUG(("Creating child stack"));
child = silc_stack_alloc(8192, stack);
if (!ptr2)
goto err;
}
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(child);
+#endif /* SILC_DIST_INPLACE */
SILC_LOG_DEBUG(("Popping %d times", NUM_ALLS / 10));
for (i = 0; i < NUM_ALLS / 10; i++)
silc_stack_pop(child);
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(child);
+#endif /* SILC_DIST_INPLACE */
SILC_LOG_DEBUG(("Pushing and reallocating %d times", NUM_ALLS / 10));
ptr2 = NULL;
SILC_LOG_DEBUG(("Allocate child from child"));
child2 = silc_stack_alloc(0, child);
ptr = silc_smalloc(child2, 500000);
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(child2);
+#endif /* SILC_DIST_INPLACE */
silc_stack_free(child2);
- silc_stack_stats(child);
+#ifdef SILC_DIST_INPLACE
+ silc_stack_stats(child2);
+#endif /* SILC_DIST_INPLACE */
silc_stack_pop(child);
SILC_LOG_DEBUG(("Popping"));
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(child);
+#endif /* SILC_DIST_INPLACE */
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(stack);
+#endif /* SILC_DIST_INPLACE */
silc_stack_free(child);
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(stack);
+#endif /* SILC_DIST_INPLACE */
SILC_LOG_DEBUG(("Purge stack"));
silc_stack_purge(stack);
+#ifdef SILC_DIST_INPLACE
silc_stack_stats(stack);
+#endif /* SILC_DIST_INPLACE */
SILC_LOG_DEBUG(("Current alignment: %d", silc_stack_get_alignment(stack)));
SILC_LOG_DEBUG(("Set alignemtn to 16"));
SILC_LOG_DEBUG(("Testing was %s", success ? "SUCCESS" : "FAILURE"));
fprintf(stderr, "Testing was %s\n", success ? "SUCCESS" : "FAILURE");
- return success;
+ return !success;
}