12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- HowTo.txt - Copyright 2008 Symbian Software Ltd.
- This document describes how to use this test suite for stress-testing Linux-emulation type systems on Windows.
- Structure of tests
- ==================
- The Linux emulation layer tests are structured as follows:
- LinuxEmulationLayerStressTests\HowTo.txt (this file)
- LinuxEmulationLayerStressTests\makemakefile.py (described below)
- LinuxEmulationLayerStressTests\mingw.tar.bz2
- LinuxEmulationLayerStressTests\msys.tar.bz2
- LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun01\makefiles_testrun01.zip
- LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun01\testrig01.bat
- LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun02\makefiles_testrun02.zip
- LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun02\testrig02.bat
- LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun03\makefiles_testrun03.zip
- LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun03\testrig03.bat
- LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun04\makefiles_testrun04.zip
- LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun04\testrig04.bat
- LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun05\makefiles_testrun05.zip
- LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun05\testrig05.bat
- LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun06\makefiles_testrun06.zip
- LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun06\testrig06.bat
- LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun07\makefiles_testrun07.zip
- LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun07\testrig07.bat
- LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun08\makefiles_testrun08.zip
- LinuxEmulationLayerStressTests\GeneratedMakefiles\TestRun08\testrig08.bat
- LinuxEmulationLayerStressTests\src\msys-sed-4.1.5-src.tar.gz
- Each test run has its makefiles preserved in the corresponding zip file (e.g. makefiles_testrun01.zip).
- The testrigNN.bat are very basic batch scripts that do not take any parameters. They are simply there as a
- bootstrap to
- 1) Set the PATH to contain either MSYS's or Cygwin's bin folder (but not both!)
- 2) Set the PATH to contain MinGW's bin folder (for MinGW's make)
- 3) Generate the makefiles in a number of for-loops (optional)
- 4) Run the make over the makefiles in a number of for-loops
- In future, if any of these batch files are re-used, it will be necessary to adjust them so that
- they set the PATH environment variable correctly to contain the place where MSYS or Cygwin
- was unzipped. Then decide if you wish to generate further makefiles using the Python script,
- or if it's just enough to run the existing makefiles.
- For convenience, both MSYS and Cygwin are provided in the files
- LinuxEmulationLayerStressTests\mingw.tar.bz2
- LinuxEmulationLayerStressTests\msys.tar.bz2
- These are the versions that were tested and were shipped with SBSv2. Simply untar to a convenient
- location and update the batch files bootstraps to add these to your PATH.
- makemakefile.py
- ===============
- This script, as its name suggests, makes a range of makefiles. Use the command
- python makemakefile.py -h
- to see a list of available options. At time of writing, the usage help is as follows:
- Usage: makemakefile.py [options]
- Options:
- -h, --help show this help message and exit
- -t TARGETS, --targets=TARGETS
- Number of main (or "level1") targets to generate -
- these are the targets that actually perform some
- simulated actions.
- -d DIVISIONS, --divisions=DIVISIONS
- The number of "level2" targets. Each level2 target
- will depend on t/d level1 targets. This makes makefile
- generation more logical.
- -m MAKEFILE, --makefile=MAKEFILE
- Name of makefile to generate. If blank, makefile is
- printed to STDOUT.
- -c CASE, --case=CASE Type of commands to use in each rule. Default is
- "all"; other options are "env", "echo", "cp" and "sed"
- The -t option specifies total the number of makefile targets. This should be a positive integer.
- The -d option specifies total the number of subdivisions of the makefile targets into level1/level2 targets.
- This should be a positive integer.
- The makefiles are structured in such as way, so that the dependency tree has three levels. The aim is to
- introduce some complexity into the makefile's dependency tree rather than just having a "flat" dependency tree.
- The top level in the dependency tree contains only one target called "main"; below this are the level2 targets
- which are all prerequisites of main; lastly are the level1 targets which split into groups and each group is
- the set of prerequisites for a level2 target.
- The size of these groups of level1 targets is <= DIVISIONS depending if DIVISIONS divides into TARGETS exactly or not.
|