Commit d09ec45
committed
fix: prevent 513 setup errors and async/sync UID conflicts in CI
Three root causes addressed:
1. verify_docker() in commit e643035 was broadened to return True when
the `docker compose` plugin is available, even when the standalone
`docker-compose` binary is absent. But start.sh scripts require the
standalone binary, so on GitHub CI: docker_available=True → all docker
server directories registered → setup called → docker-compose: command
not found (exit 127) → 513 test setup ERRORs.
Fix: verify_docker() checks only the standalone `docker-compose` binary.
On GitHub CI it now returns False, so only service containers that are
already accessible are registered (via the is_accessible() branch of
the existing `docker_available or server.is_accessible()` check).
Locally, where docker-compose is installed, auto-start still works.
2. async_task_list used stable cal_id "pythoncaldav-async-test" for all
mixed-calendar servers, including Cyrus which has
save.duplicate-uid.cross-calendar=ungraceful. Async test created UID
well_known_1 in pythoncaldav-async-test; sync testObjectByUID tried the
same UID in pythoncaldav-test-tasks → Cyrus 403. This conflict was
latent in 2a2d0ca but only surfaces once async tests actually reach
Cyrus (which this branch enables).
Fix: use "pythoncaldav-test-tasks" (same as sync suite) for any server
with cross-calendar UID uniqueness enforcement.
3. Nextcloud's calendar deletion goes to trashbin (delete-calendar.free-
namespace=fragile), so the next fixture invocation would find the old
calendar, cleanup_calendar_objects would silently fail, and leftover
objects triggered duplicate-UID 500 errors.
Fix: use unique timestamped cal_id for servers where
delete-calendar.free-namespace is not supported.
prompt: the github run fails (investigate and fix CI failures on branch async-github-testruns)
followup-prompt: continue implementing the three fixes identified in the previous session
followup-prompt: it is intended that it should be possible to run pytest without having to manually start all the test servers
followup-prompt: regarding the async/sync uid conflict, why don't we have that in the main branch?1 parent 60f5622 commit d09ec45
2 files changed
Lines changed: 44 additions & 26 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
260 | 260 | | |
261 | 261 | | |
262 | 262 | | |
263 | | - | |
264 | | - | |
265 | | - | |
266 | | - | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
267 | 270 | | |
268 | 271 | | |
269 | 272 | | |
270 | 273 | | |
271 | 274 | | |
272 | 275 | | |
273 | | - | |
274 | | - | |
275 | | - | |
276 | | - | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
277 | 304 | | |
278 | 305 | | |
279 | 306 | | |
| |||
282 | 309 | | |
283 | 310 | | |
284 | 311 | | |
285 | | - | |
286 | | - | |
287 | | - | |
288 | | - | |
289 | | - | |
290 | | - | |
291 | | - | |
292 | | - | |
293 | | - | |
294 | | - | |
295 | | - | |
296 | | - | |
297 | | - | |
298 | 312 | | |
299 | 313 | | |
300 | 314 | | |
| |||
310 | 324 | | |
311 | 325 | | |
312 | 326 | | |
313 | | - | |
314 | | - | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
315 | 331 | | |
316 | 332 | | |
317 | 333 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
319 | 319 | | |
320 | 320 | | |
321 | 321 | | |
322 | | - | |
323 | | - | |
324 | | - | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
325 | 327 | | |
326 | 328 | | |
327 | 329 | | |
| |||
0 commit comments