The Megatest Users Manual ========================= Matt Welland <matt@kiatoa.com> v1.0, April 2012 :doctype: book [dedication] Dedication ========== Dedicated to my wife, Joanna, who has, for many years now, supported all my wacky ideas and nutty projects with only the occasional grumble and roll of the eyes. Thanks ------ To all the great people from the various places I've worked over the years, thank you. I've benefitted from your patience and insight and I hope that some of what I've learned from you has been incorporated into Megatest. Also, my thanks to all the wonderful open source creators. These truly free projects, from Linux, xemacs, chicken scheme, and fossil to asciidoc and bash are the philosophical and direct underpinnings of the Megatest project. [preface] Preface ======= This book is organised as three sub-books; getting started, writing tests and reference. Why Megatest? ~~~~~~~~~~~~~ The Megatest project was started for two reasons, the first was an immediate and pressing need for a generalized tool to manage a suite of regression tests and the second was the fact that I had written or maintained several such tools at different companies over the years and it seemed a good thing to have a single open source tool, flexible enough to meet the needs of any team doing continuous integrating and or running a complex suite of tests for release qualification. Megatest Design Philosophy ~~~~~~~~~~~~~~~~~~~~~~~~~~ Megatest is intended to provide the minimum needed resources to make writing a suite of tests and implementing continuous build for software, design engineering or process control (via owlfs for example) without being specialized for any specific problem space. Megatest in of itself does not know what constitutes a PASS or FAIL of a test. In most cases megatest is best used in conjunction with logpro or a similar tool to parse, analyze and decide on the test outcome. Megatest Architecture ~~~~~~~~~~~~~~~~~~~~~ All data to specify the tests and configure the system is stored in plain text files. All system state is stored in an sqlite3 database. Tests are launched using the launching system available for the distributed compute platform in use. A template script is provided which can launch jobs on local and remote Linux hosts. Currently megatest uses the network filesystem to call home to your master sqlite3 database. include::getting_started.txt[] include::writing_tests.txt[] include::reference.txt[] [appendix] Example Appendix ================ One or more optional appendixes go here at section level zero. Appendix Sub-section ~~~~~~~~~~~~~~~~~~~ NOTE: Preface and appendix subsections start out of sequence at level 2 (level 1 is skipped). This only applies to multi-part book documents. [bibliography] Example Bibliography ==================== The bibliography list is a style of AsciiDoc bulleted list. [bibliography] - [[[taoup]]] Eric Steven Raymond. 'The Art of Unix Programming'. Addison-Wesley. ISBN 0-13-142901-9. - [[[walsh-muellner]]] Norman Walsh & Leonard Muellner. 'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999. ISBN 1-56592-580-7. [glossary] Example Glossary ================ Glossaries are optional. Glossaries entries are an example of a style of AsciiDoc labeled lists. [glossary] A glossary term:: The corresponding (indented) definition. A second glossary term:: The corresponding (indented) definition. [colophon] Example Colophon ================ Text at the end of a book describing facts about its production. [index] Example Index ============= //////////////////////////////////////////////////////////////// The index is normally left completely empty, it's contents are generated automatically by the DocBook toolchain. ////////////////////////////////////////////////////////////////