Use PyWayland-generated protocol modules directly
eece8b0382f7cb9b0e8c8e539f3f822755063ceb
1 parent
915709c5
test/run.py
+0 -14
| 178 | 178 | shutil.rmtree(package, ignore_errors=True) |
|
| 179 | 179 | package.mkdir(parents=True) |
|
| 180 | 180 | (package / "__init__.py").touch() |
|
| 181 | 181 | run("pywayland-scanner", "-o", package, "-i", *xmls) |
|
| 182 | 182 | ||
| 183 | - | # pywayland 0.4 generates a circular import for ext-workspace-v1. The |
|
| 184 | - | # group events refer to objects that already exist, so they do not need an |
|
| 185 | - | # interface constructor. Dropping that annotation breaks the cycle while |
|
| 186 | - | # preserving the wire signature. |
|
| 187 | - | workspace_group = package / "ext_workspace_v1/ext_workspace_group_handle_v1.py" |
|
| 188 | - | generated = workspace_group.read_text() |
|
| 189 | - | generated = generated.replace( |
|
| 190 | - | "from .ext_workspace_handle_v1 import ExtWorkspaceHandleV1\n", "" |
|
| 191 | - | ).replace( |
|
| 192 | - | "Argument(ArgumentType.Object, interface=ExtWorkspaceHandleV1)", |
|
| 193 | - | "Argument(ArgumentType.Object)", |
|
| 194 | - | ) |
|
| 195 | - | workspace_group.write_text(generated) |
|
| 196 | - | ||
| 197 | 183 | ||
| 198 | 184 | def prepare_suite(unit: bool, integration: bool) -> None: |
|
| 199 | 185 | """Prepare runtime files for the selected tests.""" |
|
| 200 | 186 | ||
| 201 | 187 | binaries = [ |