This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch wl/browser-all
in repository enlightenment.
View the commit online.
commit 796820e10a03307deeab61eae87841c9b3a5f8ca
Author: Cedric BAIL <[email protected]>
AuthorDate: Thu Aug 13 21:52:42 2026 -0600
tests/wlcs - move to wlcs 1.8.1 and pin the checkout somewhere it survives
The runner was built in a session scratchpad, along with the Boost headers it
needs. Both are gone when the session is. They live in
~/work/enlightenment/tools now, and the recipe here says so.
1.8.1 rather than 1.7.0 because it brings WpViewporterTest - 13 cases plus two
parameterised suites for the bad-source and bad-destination errors - which is
a conformance target for wp_viewporter instead of tests we would otherwise
write from our own reading of the spec, encoding our own misreadings as
passing. It also adds FractionalScaleV1Test and XdgDecorationV1Test.
The note here said to stay on v1.7.0 because 1.8.2 needs std::format and GCC
13. That is true of HEAD and not of the v1.8.1 tag, which does not use it and
builds on GCC 12 as-is.
Nothing in the integration changes. 1.8.1 raises WLCS_DISPLAY_SERVER_VERSION
to 4 for an optional create_keyboard hook; we declare 3 and 3 is still
supported, so the unmodified e_wlcs.so loads and enumerates under the 1.8.1
runner. Implementing that hook later would unskip its wl_keyboard tests.
Additive, so the existing baseline still means something: 1160 tests -> 1225,
five suites added and none removed, and the gtest suite names did not change
even though every test .cpp was renamed.
Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01FtoiXoSKUmZb6Aix6U3GZS
---
src/tests/wlcs/README.md | 38 ++++++++++++++++++++++++++++++--------
1 file changed, 30 insertions(+), 8 deletions(-)
diff --git a/src/tests/wlcs/README.md b/src/tests/wlcs/README.md
index 2540df238..a79cfdd35 100644
--- a/src/tests/wlcs/README.md
+++ b/src/tests/wlcs/README.md
@@ -28,20 +28,42 @@ so `/usr/libexec/wlcs/wlcs` cannot start at all — check with `ldd`.
Building it is not hard, but three things get in the way and none of them are
obvious from the error:
+Keep the checkout somewhere durable — `~/work/enlightenment/tools/wlcs` is
+where it lives on this machine. It sat under a session scratchpad once, which
+is a good way to lose the only runner that works.
+
```sh
-git clone https://github.com/canonical/wlcs && cd wlcs
-git checkout v1.7.0
+git clone https://github.com/canonical/wlcs ~/work/enlightenment/tools/wlcs
+cd ~/work/enlightenment/tools/wlcs
+git checkout v1.8.1
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release \
-DWLCS_BUILD_ASAN=False -DWLCS_BUILD_TSAN=False -DWLCS_BUILD_UBSAN=False \
- -DBoost_INCLUDE_DIR=/path/to/boost/include \
- -DCMAKE_CXX_FLAGS="-Wno-error=restrict -Wno-error=array-bounds"
+ -DBoost_INCLUDE_DIR=$HOME/work/enlightenment/tools/boostroot/usr/include \
+ -DCMAKE_CXX_FLAGS="-Wno-error=restrict -Wno-error=array-bounds -Wno-error"
cmake --build build -j
```
-* **v1.7.0, not HEAD.** wlcs 1.8.2 uses `std::format`, which needs GCC 13.
- v1.7.0 builds with GCC 12 and its `wlcs/*.h` are byte-identical to 1.1.0's —
- same `WLCS_DISPLAY_SERVER_VERSION` (3) and `WLCS_SERVER_INTEGRATION_VERSION`
- (1) — so the integration needs no change for either.
+Upgrading is meant to be that and nothing else: **we do not patch wlcs.** The
+suite is an external dependency, the integration is entirely ours
+(`e_wlcs.c`), and what we expect to fail lives in `expected-failures.txt`
+next to it rather than in the suite. The only coupling is the
+`wlcs_server_integration` ABI, which is explicitly versioned for this.
+
+* **v1.8.1, not HEAD.** HEAD (1.8.2) uses `std::format`, which needs GCC 13;
+ this machine has GCC 12, whose libstdc++ has no `<format>` at all. The
+ v1.8.1 *tag* does not use it and builds fine — do not infer otherwise from
+ the 1.8.x version number.
+* **Moving 1.7.0 -> 1.8.1 needs no integration change.** 1.8.1 raises
+ `WLCS_DISPLAY_SERVER_VERSION` to 4, adding an optional `create_keyboard`
+ hook; `e_wlcs.c` declares 3, and a module declaring 3 is still supported.
+ Declaring 4 and implementing `create_keyboard` would light up 1.8.1's
+ `wl_keyboard` tests, which are skipped until then.
+* **1.8.1 is additive**: 1160 tests -> 1225, five suites added
+ (`WpViewporterTest`, `WpViewporterSrcParamsTest`,
+ `WpViewporterDestParamsTest`, `FractionalScaleV1Test`,
+ `XdgDecorationV1Test`) and none removed. The gtest suite names are
+ unchanged even though the test .cpp filenames were renamed wholesale, so a
+ per-suite baseline taken against 1.7.0 still compares.
* **Boost headers.** wlcs needs only `boost/throw_exception.hpp` and
`boost/exception/info.hpp`, both header-only. Arch and Manjaro split these
into the `boost` package; `boost-libs` alone is not enough.
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.