Megatest

Update of "getting_started"
Login
Overview

Artifact ID: 69790a6b3c82d5cec396ff5d58b78e2f18112267
Page Name:getting_started
Date: 2018-03-05 08:10:37
Original User: mrwellan
Parent: d74161d97c7fc849f18c04552fc5bbd7d7e57c50 (diff)
Next c16942073ac8af43331c4cdb2552746cee51d5f5
Content

// 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/>.

Getting Started ---------------

partintro .Getting started with Megatest -- Creating a testsuite or flow and your first test or task. --

After installing Megatest you can create a flow or testsuite and add some tests using the helpers. Here is a quickstart sequence to get you up and running your first automated testsuite.

Creating a Megatest Area ~~~~~~~~~~~~~~~~~~~~~~~~

Choose Target Keys ^^^^^^^^^^^^^^^^^^

First choose your "target" keys. These are used to organise your runs in a way that is meaningful to your project. If you are unsure about what to use for keys just use a single generic key such as "RUNTYPE". These keys will be used to hand values to your tests via environment variables so ensure they are unique. Prefixing them with something such as PROJKEYS_ is a good strategy.

Examples of keys:

.Example keys width="60%",options="header" |============================================== | Option | Description | RELEASE/ITERATION | This example is used by Megatest for its internal QA. | ARCH/OS/RELEASE | For a software project targeting multiple platforms | UCTRLR/NODETYPE | Microcontroller project with different controllers running same software |==============================================

Create Area Config Files ^^^^^^^^^^^^^^^^^^^^^^^^

You will need to choose locations for your runs (the data generated every time you run the testsuite) and link tree. For getting started answer the prompts with "runs" and "links". We use the Unix editor "vi" in the examples below but you can use any plain text editor.

.Using the helper to create a Megatest area ------------------ megatest -create-megatest-area

# optional: verify that the settings are ok vi megatest.config vi runconfigs.config ------------------

Creating a Test ~~~~~~~~~~~~~~~

Choose the test name for your first test and run the helper. You can edit the files after the initial creation. You will need to enter names and scripts for the steps to be run and then edit the tests/<testname>/testconfig file and modify the logpro rules to properly process the log output from your steps. For your first test just hit enter for the "waiton", "priority" and iteration variable prompts.

Hint: for geting started make your logpro rules very liberal. expect:error patterns should match nothing and comment out expect:required rules.

.Using the helper to create a Megatest test --------------- megatest -create-test myfirsttest

# then edit the generated config vi tests/myfirsttest/testconfig ---------------

Running your test ~~~~~~~~~~~~~~~~~

First choose a target and runname. If you have a two-place target such as RELEASE/ITERATION a target would look like v1.0/aff3 where v1.0 is the RELEASE and aff3 is the ITERATION. For a run name just use something like run1.

.Running all tests (testpatt of "%" matches all tests) --------------- megatest -run -target v1.0/aff3 -runname run1 -testpatt % -log run1.log ---------------

Viewing the results ~~~~~~~~~~~~~~~~~~~

Start the dashboard and browse your run in the "Runs" tab.

.Starting dashboard ---------------- dashboard -rows 24 ----------------