Test Details Overview

Build and test the Qt wallet in CI (#5193)

* Make the log flush level configurable

The log file is written through a buffer that is only flushed for
entries at the flush level, error by default, or when it fills up, so
info entries could take a minute to reach the file and were lost when
the process was killed. The level could only be set in code. It is now
the flush_level key of config-log.toml, next to default_level.

* Build every target in the CI test builds

The test builds only built the all_tests target, which covers the test
suites and the executables they run. The Qt wallet, the benchmarks and
the IPC test client were therefore not compiled on pull requests at all,
and a change that broke one of them went unnoticed until a release
build. The test builds now build every target.

* Log which wallet and account the Qt wallet opens

On startup the Qt wallet opens the wallet and account its config names,
but open_configured_wallet falls back to another wallet or account, or
creates one, when the named one is missing. None of this was logged, so
a wallet that silently opened a different wallet than configured, which
happens whenever the config is lost and the store holds more than one,
left no trace. It now logs the wallet and account it opened, the wallet
it created, and a warning whenever it substitutes a wallet or an
account, next to the wallet store's own startup lines.

* Test the Qt wallet's startup in the system tests

No test ran the wallet executable, so a change that made it refuse to
start on a fresh data directory passed CI. The new system test starts it
without a display on a fresh data directory, again on the same one,
after its config was deleted and after it was emptied, as an interrupted
write leaves it. Each start must get as far as starting the node and,
according to the wallet's own log, open the same wallet and account
every time, and the config must name the wallet and account it opened.

The runner passes the wallet on Linux and macOS when it was built. On
Windows its Qt libraries are only copied next to it at install time, so
it cannot run from the build directory there.

__________

Type: commit

Hash: 764a595bb9859d1042e887268963e08f72798404

Created: today

__________

gr0v1ty/nano-node:764a595bb9859d1042e887268963e08f72798404

Test Results

Test Case Status Duration Median Deviation Log Graph