Mint (Mustard Interpreter)

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 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)

Mint Literals

See the Mustard description for information about literal values.

Mint Notation

See the Mustard description for information about notation.

Scenario Examples

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.


Version 1.0: Larry Tan, 4th September 2008

Version 1.1: Larry Tan, 5th April 2009

Version 1.2: Ken Turner, 24th May 2010

Version 1.3: Ken Turner, 5th October 2012