Use a separate channel for the communication of test commands with
the RPL thread, in order to make it simpler to deal with corner cases
such as an error being displayed.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
The `qApp->primaryScreen()->devicePixelRatio()` method no longer
returns the correct pixel ratio at least on X11 over the network.
Add the `-s` option as a workaround to be able to auto-scale the
window for testing purpose.
With gcc (GCC) 13.2.1 20231011 (Red Hat 13.2.1-4), there is a message about
fall-through switch statements. Add comment to silence the warning when the
fall-through is intentional.
There was one case where the fall-through was not intentional.
Missing `break` added.
Fixes: #853
On Fedora 38, GCC incorrectly warns about unused arguments despite the
`__attribute__((unused)))` that should silence the warning.
Observed with gcc (GCC) 13.2.1 20231011 (Red Hat 13.2.1-4).
Fixes: #853
Instead of proactively wait, add a wait loop checking for the result.
This allows the tests to run significantly faster.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Each test is controlled by a specific recorder tweak.
The `-T` option can now take a test name, e.g. `-Tkeyboard` to run
only that test in an automated way.
The `-O` option can select a single test for interactive testing with
the F12 key.
In both cases, the name follows the recorder syntax.
Fixes: #728
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
The demo does not fit in 2K, and I keep forgetting about setting
the memory size when running e.g. in the debugger
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Passing the -m option to the simulator makes it possible to specify
amount of memory allocated initially.
Fixes: #367
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Better synchronization mechanism between RPL thread stack
output and test thread. Also added some settings at beginning
of output, and a different delay for waiting and delaying.
Also rendering the output of the stack at full length, because
otherwise we truncate large numbers in a non-sensible place.
For example, displaying 64! would show digits 80 and lower,
but the number has more digits than that, so we don't show the
more significant ones.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
This makes it easier to inspect RPL objects from debugger
For example, in `lldb`, you can use:
```
p obj->debug()
```
And this will show the content of the object as rendererd by the runtime.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
To ease debugging, add a %t format turning RPL object pointers into their text
rendering while tracing.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
The `-w` command-line option takes a delay in millisecond between keystrokes.
Running slower minimizes the chances of a sync issue between the RPL thread and
the test thread. However, this mechanism is still not robust. I need to find a
reliable way to identify when the RPL thread is done processing the input from
the test thread.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
The `QSettings` class is only used to store the path to the actual state.
The use of the file dialog seems to cause some trouble with the current working
directory, and this impacts the display of the help file.
Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>