The testml script launches a newly-built and newly-linked interactive system. It requires a previous run of the makeml script because it uses the heap image . arch- osname and libraries in .lib.
If no arguments are given, defaults to sml. If at least one argument is given, then is assumed to be the first one. All other arguments are passed to the initialization routine of the interactive system just like normal arguments to the sml command would.
This means that one must specify a unless there are no command-line arguments at all.