PalmUnit Enhancements NEWS 2003-05-12 0.1.2-cytheric1 * Created PalmUnitApp namespace, and moved all classes into it. * Added support for multiple code sections. Added macro to place many functions in a new code section, defined as "palmunit" in main Makefile. This removes about 10K from the Code1 section (.text). * Created sub-project named "sample" to generate an executable for sample tests. Moved test files from src directory. Also changed output of src directory to generate a library archive file, PalmUnitGui.a. So a PalmUnit application must now link with this file as well as the framework archive, PalmUnit.a. * PalmUnit.h - Added declaration of AddTests(TestRunner*) function. An application must define this function to populate tests. PalmUnit.cc - Removed hardcoding of test files. Instead calls AddTests(TestRunner*) so the application may populate tests. This technique is cleaner than the requirement to copy files and then to directly change PalmUnit.cc. The application only needs to implement AddTests(TestRunner*). See the sample sub-project. * Added top-level Makefile to allow building/cleaning the project as a whole. Added common.mk to contain definitions in common across subdirectory makefiles. * Updated description for an error (as opposed to failure) to include error identifer from ErrCatch argument. See TestCase.cc. This information helps when using ErrTry/ErrCatch mechanism. * Worked around memory leak in Exception class. Was not releasing memory for member data of String type due to use of ErrTry/ErrCatch. Converted member data type to volatile char*. Your own test code may generate memory leaks when an error/failure occurs. * Removed exception and RTTI support by addition of -fno-exceptions and -fno-rtti compilation flags, and by link with libnoexcept.a. This reduced size of Code1 section to around 13k and Data section to 2k for the Sample application. * Issue: When compile with optimization flag, like -O2, POSE generates errors. If compile with optimization but do not use a separate code section, errors do not occur. At any rate, omitted optimization flag.