Headless Testing of PySide/PyQt GUI Applications with pytest-qt

馃 Intro Manual testing of GUI applications can become tedious and error-prone as features and complexity increase. Headless testing offers a solution by automating UI interactions without the need for a physical display. This approach allows for faster test execution, improved repeatability, and seamless integration with continuous integration and continuous delivery (CI/CD) pipelines. In this post, we鈥檒l explore how to leverage pytest-qt, a powerful framework for headless testing of PySide/PyQt applications....

May 22, 2024 路 Andrea Manzini

A different approach to terminal user interfaces

Intro Bubbletea is a framework with a philosophy based on The Elm Architecture: Making it simple, it breaks into three parts: Model: the state of your application View: a way to turn your state into something to display Update: a way to update your state based on messages The framework鈥檚 runtime manages everything else: from messages orchestration to low-level rendering details. Example Let鈥檚 say you want to create the classic to-do list:...

May 3, 2024 路 Andrea Manzini

SEGFAULT: Debugging a crashing application

馃檧 Something breaks If you use linux running some applications you could have seen sometimes a similar error message: [1] 24975 segmentation fault (core dumped) what鈥檚 meaning and how it can be useful ? Let鈥檚 dig it out. 馃И Lab Setup To make a proper case study, we need a crashing program. Of course they are very rare nowadays 馃榿 so we just create a new one ourself, showing off our worst C coding bad skills and practices....

April 5, 2024 路 Andrea Manzini

Playing with Rust on ARM architecture

An old find I found an old cubieboard3 (cubietruck) collecting dust in a drawer, so I took the chance to try out Rust cross compilation and collect here some notes about the process. Here鈥檚 the baby: Give it a penguin First of all, I installed an ARM linux distro on a MicroSD card and started the device: [user@arm ~]$ cat /proc/cpuinfo processor : 0 model name : ARMv7 Processor rev 4 (v7l) BogoMIPS : 50....

March 1, 2024 路 Andrea Manzini