PalmUnit Enhancements README Introduction ------------ PalmUnit is a utility to perform unit tests on Palm OS devices. PalmUnit was developed by catoo . The documentation and files for the original version of PalmUnit may be found at http://www.geocities.co.jp/SiliconValley-SanJose/7344/PalmUnit/index-en.html. I have modified PalmUnit to make it more useful for me. I am sharing my modifications in the hope others will find them useful. My updates may be found at http://cytheric.net/palmunit/index.shtml. Changes to the Original Version ------------------------------- I have reduced the primary code section requirements by adding support for multiple code sections. In addition I made the code more modular by placing it in a namespace, by breaking out the sample application into a separate sub-project, and by simultaneously defining a single function an application must implement to notify PalmUnit of the tests to run. See the NEWS file for a detailed description of the changes. Building -------- The description below is for the PRC-Tools environment. I do not have access to CodeWarrior; however, if you update the build process for that environment, I would be happy to incorporate those changes. Requirements: I develop with PRC-Tools 2.2, Palm OS SDK 5, and PilRC 2.9 on RedHat 7.2 and Cygwin 1.3. Palm OS SDK 4 should work too. I have added a top-level Makefile to allow building the project as a whole. Below are the important targets to get you started. You may still build each subdirectory independently. * From the top-level directory, type "make". This will build the static libraries for the framework and gui sub-projects, and it will build the Sample application. * To install the libraries and headers to build your own unit tests, first review the comments in common.mk. You must define where to copy the header files and static library files. By default, they are copied to ../../include/palmunit and ../../lib/palmunit (relative to this project's top-level directory). Use the Make "install" target to install them. Developing Your Own Unit Tests ------------------------------ This release is intended to supplement the original PalmUnit release. Refer to the original PalmUnit web page listed above in the Introduction section for details and background on how to build unit tests using this framework. To see a sample application built from this release, check out the sample subdirectory. There are three important issues to handle beyond those for the original PalmUnit release: * You must define the PALMUNIT_SECTION macro for the code section used by PalmUnit. For the Sample, see common.mk. * You must also define this code section in a "def" file. For the Sample, see PalmUnit.def. See the PRC-Tools documentation for the definitive reference on multiple code sections in that environment. * You must define the AddTests(TestRunner*) function to add your tests to the PalmUnit application. For the sample, see PalmUnitPopulator.cc. Problems/Comments ----------------- Let me know if you run into any problems or just want to share your experience with the update. I'd love to hear from you! Ken Bannister kbee@acm.org http://cytheric.net