ceylon test [--auto-export-maven-dependencies] [--cacherep=<url>] [--compile[=<flags>]] [--cwd=<dir>] [--flat-classpath] [--link-with-current-distribution] [--maven-overrides=<url>] [--no-default-repositories] [--offline] [--overrides=<url>] [--rep=<url>...] [--report] [--sysrep=<url>] [--tag=<tag>...] [--tap] [--test=<test>...] [--timeout=<seconds>] [--verbose[=<flags>]] [--version=<version>] [--] <modules...>


Executes tests in specified <modules>. The <modules> arguments are the names of the modules to test with an optional version.



When using JBoss Modules (the default), treats all module dependencies between Maven modules as shared.


Specifies the folder to use for caching downloaded modules. (default: ~/.ceylon/cache)


Determines if and how compilation should be handled. Allowed flags include: never, once, force, check.


Specifies the current working directory for this tool. (default: the directory where the tool is run from)


Launches the Ceylon module using a flat classpath.

Link modules which were compiled with a more recent version of the distribution to the version of that module present in this distribution (1.2.2). This might fail with a linker error at runtime. For example if the module depended on an API present in the more recent version, but absent from 1.2.2. Allowed arguments are upgrade, downgrade or abort. Default: upgrade


Specifies the XML file to use to load Maven artifact overrides. See for information. Deprecated: use --overrides.


Indicates that the default repositories should not be used.

--offline, -L

Enables offline mode that will prevent connections to remote repositories.


Specifies the XML file to use to load module overrides. See for information. Experimental.


Specifies a module repository containing dependencies. Can be specified multiple times. (default: modules, ~/.ceylon/repo,


Generates the test results report into HTML format, output directory is reports/test (experimental).


Specifies the system repository containing essential modules. (default: $CEYLON_HOME/repo)


Specifies which tests will be run according to their tags. It can be used as include filter, so only tests with specified tag will be executed. But it can be used also as exclude filter, if tag name is prefixed with !, so only tests without specified tag will be executed..


Enables the Test Anything Protocol v13.


Specifies which tests will be run.

--timeout=seconds, -T seconds

Sets the timeout for connections to remote repositories, use 0 for no timeout (default: 20).

--verbose[=flags], -d

Produce verbose output. If no flags are given then be verbose about everything, otherwise just be verbose about the flags which are present. Allowed flags include: all, loader.


Specifies which version of the test module to use.

Configuration file

The test tool accepts the following option from the Ceylon configuration file: testtool.compile (the equivalent option on the command line always has precedence).


The following would execute tests in the com.example.foobar module:

ceylon test com.example.foobar/1.0.0