See the main page for a Cress overview
The current version of Mint is 1.3, dated 5th October 2012.
Mint is a language and a tool for defining and validating grid or web service test scenarios. Although Mint was designed for use with Cress, it can be used independently of this. As Mint is an extension of Mustard, see the Mustard description for the context of Mint. See the Cress description for an overview of Cress.
Mint has been used to validate services in the following domains:
Mint validates implementations using:
Mint creates and runs tests expressed using the Mustard scenario notation. It relies on the cress_common.pm Perl module borrowed from Cress.
To run Mint requires Perl 5 or similar and a JDK (Java Development Kit). Mint has been run on Windows (under CygWin), but should also run on various versions of Unix.
A Unix-like installation is assumed in the following, though it should be possible to install and run on other platforms where Perl and Java run. It is assumed that the files are extracted to $HOME/bin/mint.
In a few places in the code, a Unix-like environment is assumed. For example, Macintosh end-of-line may not be correctly handled. Paths and filenames are assumed to have '/' separators. Search paths are assumed to have ':' separators. On a Windows system, it is suggested that CygWin be used; ActivePerl may be suitable but has not been tried.
The following environment variables should be set up (e.g. in your .profile, .cshrc or Windows environment variables):
Variable | Meaning |
---|---|
JAVA_HOME (used by java and javac) | JDK installation directory |
PATH (used by command-line) | a directory path used by a shell to locate executables, e.g. to include $HOME/bin/mint/bin |
PERLLIB (used by Perl) | a directory path used by Perl to locate modules (cress_*.pm), e.g. $HOME/bin/cress/bin. |
This script takes a filename on the command line. "file[.mustard]" should contain a Mustard test file. The main file can optionally be followed by feature or service names to restrict testing to these. A partner "feature" has the form <service>.<partner>.
Using a ws vocabulary option is usually preferable as gs invokes the Globus version of WSDL2Java. The latter may not translate WSDL correctly if it uses a different version of Axis.
Note that Mint relies on an environment (test files) having been set up by Mustard, so it may not be sensible to run Mint directly. Also note that testing a partner on its own will not work if it relies on faults defined only by the partner service.
Command-line options are:
Option | Meaning |
---|---|
-e level | use the given error reporting level (3 - panics, 2 - these plus errors, 1 (default) - these plus notes, 0 - these plus diagnostics) |
-h | help on parameters |
-j | suppress WSDL translation to Java (translated by default) |
-k key | key for server authorisation (user:password@host) used as the default for 'target.url' in a service properties file; if the host is given, it replaces the one in this file |
-p mode[runs] | performance mode (c concurrent, s sequential), optionally followed by the number of runs (default 20) |
-r directory | root directory for main service (default current directory) |
-t properties | a comma-separated list of target properties in the format partner[@file[.properties]] |
-v vocabulary | use the named vocabulary (gs, ws - always used for main service file) |
service [partner...] | service and optional partners (test all by default) |
See the Mustard description for information about literal values.
See the Mustard description for information about notation.
See the Mustard description for examples.
This program 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 2 of the License, or (at your option) any later version.
This program 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 may re-distribute this software provided you preserve this Mint description. Bug reports should be sent to Ken Turner, who would also appreciate receiving any corrections and comments.
first public version
updated for use with Cress 3.4 and Mustard 1.8
small technical improvements and reformatting
updated for use with Cress 5.0 and Mustard 2.0
the DS (Device Service) and SS (Statistics Service) domains are now supported
the -k option has been added to define a server authorisation key for BPEL
the -r option has been added to define the diagram path when file checking is in use (=file-expected:file-contents)
file checking is now supported for test values of the form =file_name/file_content
variables are now optional in expressions such as ?Type