lux icon indicating copy to clipboard operation
lux copied to clipboard

Where is match_timeout documented?

Open pillravi opened this issue 9 years ago • 2 comments

In version 1.15.1, there is a failure that may occur that is called match_timeout. An example of this can be seen in test/examples.delux (current version). However, there is no documentation on what this timeout means or how it is used. See doc/lux.md (current version). Trying to use it like the other timeouts, e.g. lux --match_timeout infinity testcase.lux gives the error: lux.escript: "--match_timeout" is an illegal argument. By contrast, lux --case_timeout infinity testcase.lux runs just fine.

What is a match_timeout and can you please add some documentation for it? Thanks.

pillravi avatar Feb 14 '17 18:02 pillravi

When a lux test case fails, the reason for this is shown. A brief summary (often just a word or two) of the cause is displayed after the keyword "actual". The reason "case_timeout" happens to be the same as the name of a configuration parameter. While others like "stopped_by_user", "match_timeout" etc. are not.

In the "match_timeout" case it is a match command that times out. With match command I mean commands like ?, ??, [endshell] etc. The length of a match timeout is typically set with the [timeout xxx] command in the lux script. Its default value can be changed by using the --timeout and --cleanup_timeout configuration parameters.

hawk avatar Feb 15 '17 10:02 hawk

Okay, so it is the same as a plain old timeout from version 1.14.1. Upon updating my lux build, this was a little jarring. I would expect this change to be documented in lux.md in the timeouts section, perhaps by adding, "or the script will fail with a match_timeout" after "given time limit" in line 849. That way, if someone is grepping the docs for help on match_timeout, they will find the correct section.

pillravi avatar Feb 16 '17 20:02 pillravi