summaryrefslogtreecommitdiffstats
path: root/testsuites/support
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2010-07-14 16:03:57 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2010-07-14 16:03:57 +0000
commitbe8bdff62b84dbb9e06c3491007038ecb74ec6c5 (patch)
tree4c05ace52498b1ca4d2579e438cdb81d8fb10b89 /testsuites/support
parent2010-07-14 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-be8bdff62b84dbb9e06c3491007038ecb74ec6c5.tar.bz2
2010-07-14 Joel Sherrill <joel.sherrill@oarcorp.com>
* support/include/test_support.h, support/src/test_support.c: Add Allocate_majority_of_heap().
Diffstat (limited to 'testsuites/support')
-rw-r--r--testsuites/support/include/test_support.h13
-rw-r--r--testsuites/support/src/test_support.c19
2 files changed, 29 insertions, 3 deletions
diff --git a/testsuites/support/include/test_support.h b/testsuites/support/include/test_support.h
index cbb2c4de55..412226c9fe 100644
--- a/testsuites/support/include/test_support.h
+++ b/testsuites/support/include/test_support.h
@@ -1,5 +1,5 @@
/*
- * COPYRIGHT (c) 1989-2009.
+ * COPYRIGHT (c) 1989-2010.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -17,7 +17,7 @@ extern "C" {
#endif
/*
- * Allocate a number of small blocks from the heap
+ * Allocate a number of small blocks from the workspace
* until the largest free block of memory available is
* smaller than smallest.
*
@@ -26,6 +26,15 @@ extern "C" {
void Allocate_majority_of_workspace( int smallest );
/*
+ * Allocate a number of small blocks from the heap
+ * until the largest free block of memory available is
+ * smaller than smallest.
+ *
+ * NOTE: The memory CANNOT be freed.
+ */
+void Allocate_majority_of_heap( int smallest );
+
+/*
* Return a pointer to the POSIX name that is slightly
* beyond the legal limit.
*/
diff --git a/testsuites/support/src/test_support.c b/testsuites/support/src/test_support.c
index e71700aec4..319be6f17b 100644
--- a/testsuites/support/src/test_support.c
+++ b/testsuites/support/src/test_support.c
@@ -1,5 +1,5 @@
/*
- * COPYRIGHT (c) 1989-2009.
+ * COPYRIGHT (c) 1989-2010.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -12,6 +12,7 @@
#include <fcntl.h>
#include <tmacros.h>
#include "test_support.h"
+#include <rtems/libcsupport.h>
static char Too_Long_Name[PATH_MAX + 2];
static char Longest_Name[PATH_MAX + 1];
@@ -58,3 +59,19 @@ void Allocate_majority_of_workspace( int smallest )
} while ( info.Free.largest >= smallest );
}
+
+void Allocate_majority_of_heap( int smallest )
+{
+ size_t size;
+ void *temp;
+
+ puts("Allocate_majority_of_heap: ");
+ size = malloc_free_space();
+ do {
+ temp = malloc( size-16 );
+ if (!temp)
+ perror("Unable to allocate from workspace");
+ size = malloc_free_space();
+ } while ( size >= smallest );
+
+}