altdesktop / i3ipc-python

🐍 An improved Python library to control i3wm and sway.
http://i3ipc-python.readthedocs.io
BSD 3-Clause "New" or "Revised" License
841 stars 108 forks source link

Tests fail on 32-bit architectures #167

Open mpolanski opened 3 years ago

mpolanski commented 3 years ago

Hi, I tried running i3ipc tests on Alpine package, but there were errors. Example log on x86: https://gitlab.alpinelinux.org/mpolanski/aports/-/jobs/254382 The same happens on armv7.

acrisci commented 3 years ago

There's actually some things that could affect this such as the byte order of the system, and it will change how i3 calculates the container ids.

I think I'd have to reproduce this locally to look into it. Can you give me the dockerfile you are using to run these tests?

mpolanski commented 3 years ago

Actually, I don't use Docker for running Alpine, but I made these reproduction steps on a i386 Docker image:

docker run --rm -it i386/alpine:latest

apk add git python3 py3-xlib py3-pytest py3-pytest-asyncio py3-pytest-timeout xvfb-run i3wm
adduser -D tester
su - tester
git clone https://github.com/altdesktop/i3ipc-python
cd i3ipc-python
xvfb-run python3 run-tests.py

Terminal output of above commands: GitHub gist (pytest hangs after printing the summary info, hence the KeyboardInterrupt at the end)

I tried to run above steps on other 32-bit images using multiarch, but the tests passed, so I guess that the problem lies somewhere else.

Output log of the CI pipelines I ran today: https://gitlab.alpinelinux.org/mpolanski/aports/-/pipelines/71113