-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactor to support more varied testing.
Refactor the test harness to support three types of tests: - unit: White box unit tests. These tests have full access to all internal jemalloc library symbols. Though in actuality all symbols are prefixed by jet_, macro-based name mangling abstracts this away from test code. - integration: Black box integration tests. These tests link with the installable shared jemalloc library, and with the exception of some utility code and configure-generated macro definitions, they have no access to jemalloc internals. - stress: Black box stress tests. These tests link with the installable shared jemalloc library, as well as with an internal allocator with symbols prefixed by jet_ (same as for unit tests) that can be used to allocate data structures that are internal to the test code. Move existing tests into test/{unit,integration}/ as appropriate. Split out internal parts of jemalloc_defs.h.in and put them in jemalloc_internal_defs.h.in. This reduces internals exposure to applications that #include <jemalloc/jemalloc.h>. Refactor jemalloc.h header generation so that a single header file results, and the prototypes can be used to generate jet_ prototypes for tests. Split jemalloc.h.in into multiple parts (jemalloc_defs.h.in, jemalloc_macros.h.in, jemalloc_protos.h.in, jemalloc_mangle.h.in) and use a shell script to generate a unified jemalloc.h at configure time. Change the default private namespace prefix from "" to "je_". Add missing private namespace mangling. Remove hard-coded private_namespace.h. Instead generate it and private_unnamespace.h from private_symbols.txt. Use similar logic for public symbols, which aids in name mangling for jet_ symbols. Add test_warn() and test_fail(). Replace existing exit(1) calls with test_fail() calls.
- Loading branch information
Showing
48 changed files
with
1,337 additions
and
940 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,56 @@ | ||
/autom4te.cache/ | ||
|
||
/bin/jemalloc.sh | ||
|
||
/config.stamp | ||
/config.log | ||
/config.status | ||
/configure | ||
|
||
/doc/html.xsl | ||
/doc/manpages.xsl | ||
/doc/jemalloc.xml | ||
/doc/jemalloc.html | ||
/doc/jemalloc.3 | ||
|
||
/lib/ | ||
|
||
/Makefile | ||
/include/jemalloc/internal/jemalloc_internal\.h | ||
/include/jemalloc/internal/size_classes\.h | ||
/include/jemalloc/jemalloc\.h | ||
/include/jemalloc/jemalloc_defs\.h | ||
/test/jemalloc_test\.h | ||
|
||
/include/jemalloc/internal/jemalloc_internal.h | ||
/include/jemalloc/internal/jemalloc_internal_defs.h | ||
/include/jemalloc/internal/private_namespace.h | ||
/include/jemalloc/internal/private_unnamespace.h | ||
/include/jemalloc/internal/public_namespace.h | ||
/include/jemalloc/internal/public_unnamespace.h | ||
/include/jemalloc/internal/size_classes.h | ||
/include/jemalloc/jemalloc.h | ||
/include/jemalloc/jemalloc_defs.h | ||
/include/jemalloc/jemalloc_macros.h | ||
/include/jemalloc/jemalloc_protos.h | ||
/include/jemalloc/jemalloc_protos_jet.h | ||
/include/jemalloc/jemalloc_mangle.h | ||
|
||
/src/*.[od] | ||
/test/*.[od] | ||
/test/*.out | ||
/test/[a-zA-Z_]* | ||
!test/*.c | ||
!test/*.exp | ||
|
||
/test/test.sh | ||
test/include/test/jemalloc_test.h | ||
|
||
/test/integration/[A-Za-z]* | ||
!/test/integration/*.* | ||
/test/integration/*.[od] | ||
/test/integration/*.out | ||
|
||
/test/src/*.[od] | ||
|
||
/test/stress/[A-Za-z]* | ||
!/test/stress/*.* | ||
/test/stress/*.[od] | ||
/test/stress/*.out | ||
|
||
/test/unit/[A-Za-z]* | ||
!/test/unit/*.* | ||
/test/unit/*.[od] | ||
/test/unit/*.out | ||
|
||
/VERSION | ||
/bin/jemalloc.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.