// This file is part of Megatest. // // Megatest is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Megatest is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Megatest. If not, see <http://www.gnu.org/licenses/>. // // Copyright 2006-2012, Matthew Welland. Study Plan ---------- Megatest is an extensive program with a lot to learn. Following are some paths through the material to smooth the learning path. Basic Concepts (suggest you pick these up on the way) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Components of automation; run, test, iteration * Selectors; target, runname, and testpatt Running Testsuites or Automation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Using the dashboard gui (recommended) ** Using the "Runs" panel. ** Using the "Run Control" panel. ** Using a test control panel ** The Right Mouse Button menu ** Debug features *** xterm **** pstree **** log files; mt_copy.log, mt_launch.log **** variables; megatest.csh, megatest.sh **** testconfig dump, *testconfig *** State/status buttons *** Run, Clean, KillReq *** ReRunClean * Using the command line ** Getting help; megatest -h, megatest -manual ** Starting runs; megatest -run *** Selection controls; -target, -runname and -testpatt Writing Tests and Flows ~~~~~~~~~~~~~~~~~~~~~~~ * environment variables (table 5) * tests/_testname_/testconfig link:megatest_manual.html#_the_testconfig_file[testconfig details] ** ezsteps and logpro section ** iteration (one test applied to many inputs), items, itemstable link:megatest_manual.html#_iteration[test iteration] ** dependencies, waiton, itemmatch, itemwait link:megatest_manual.html#_requirements_section[test requirements] ** miscellaneous; mode toplevel, runtimelim, skip on file or on running, waiver propagation * megatest areas ** megatest.config ** runconfigs.config ** config language features; include, shell, system, scheme, rp|realpath, getenv, get, rget, scriptinc link:megatest.html#_config_file_helpers[config file helpers] Advanced Topics ~~~~~~~~~~~~~~~ * Removing and keeping runs selectively link:megatest_manual.html#_managing_old_runs[managing runs] * Subruns link:megatest_manual.html#_nested_runs[nested runs] * Config file features link:megatest_manual.html#_config_file_helpers[config file features] * HTML output with -generate-html * Triggers, post run, state/status * MTLOWESTLOAD * flexilauncher * env delta and testconfig * capturing test data, extracting values from logpro and using them for pass/fail * mtutil, postgres connection, packets for cross-site/cross-user control (e.g. mcrun). Maintenance and Troubleshooting ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * cleanup-db, database structure of Megatest 1.6x * archiving * homehost management * show-runconfig * show-config * show with -debug 0,9 * load management