Add command-line arguments to configure the TCK (instead of environment variables)
As described in #6 (closed) we will need to support a client-server mode.
For this purpose, the TCK will need to support additional arguments (such as the command to start/stop the server or the target server's URL).
Currently, we use an environment variable to pass the path to the CLI adapter. To avoid having a multitude of environment variables and simplify the configuration, I think we could add command-line arguments to the TCK.
Luckily, recent versions of Node.js can use util.parseArgs to parse command-line arguments (https://nodejs.org/api/util.html#utilparseargsconfig) so we won't need to use a third-party library.
As I explained in this comment: #6 (comment 1156320), here is what I propose:
$ asciidoc-tck server --start-command=/path/to/start-server --stop-command=/path/to/stop-server --url=https://localhost:8081/asciidoc-tck-adapter
-
--start-commandor--urlmust be defined. -
--urlis optional, if missing use the value returned by--start-command. -
--start-commandis optional, if missing use the--urlvalue. -
--stop-commandis optional.
NOTE: If both, --start-command and --url are defined, I think we should execute the start command but use the value of the specified URL (rather than the value returned by the start command)?
$ asciidoc-tck cli --command=/path/to/adapter-thus-runs-standalone
-
--commandis mandatory
We could also support shorthand commands:
# shorthand
$ asciidoc-tck cli /path/to/adapter-thus-runs-standalone
$ asciidoc-tck /path/to/adapter-thus-runs-standalone