Writing shell filters for fun and profit

Why ? During my daily job I have sometimes to debug failed openqa test jobs. One of the testing mantra is to reproduce the issue and for that task the openqa community has developed some tooling. In practice, I often have some output like this one below from some job cloning operations: Cloning parents of sle-15-SP4-Server-DVD-Updates-x86_64-Build20250112-1-fips_ker_mode_gnome@64bit 1 job has been created: - sle-15-SP4-Server-DVD-Updates-x86_64-Build20250112-1-fips_ker_mode_gnome@64bit -> https://openqa.suse.de/tests/16425390 Cloning parents of sle-15-SP5-Server-DVD-Updates-x86_64-Build20250112-1-fips_ker_mode_gnome@64bit 1 job has been created: - sle-15-SP5-Server-DVD-Updates-x86_64-Build20250112-1-fips_ker_mode_gnome@64bit -> https://openqa.suse.de/tests/16425391 Cloning parents of sle-15-SP4-Server-DVD-Updates-x86_64-Build20250112-1-fips_ker_mode_gnome@64bit 1 job has been created: - sle-15-SP4-Server-DVD-Updates-x86_64-Build20250112-1-fips_ker_mode_gnome@64bit -> https://openqa.suse.de/tests/16425392 And when I want to monitor those jobs, I’d need to copy-paste all the job URLs and pass them as arguments to the cool openqa-mon utility which will show and notify me of the job status in the terminal. ...

January 19, 2025 · Andrea Manzini

Testing a cheap MicroSD card quality

💾 Intro I just found a very cheap SD card on an online store and since I know that there are some fake around, I wanted to quickly test if its size and speed respect the specs. Edit: after first publish, a kind reader noticed me that The F3 tools are a perfect fit for the same task and that’s right; if you want to follow a manual path and learn something in the journey, continue reading… ...

September 3, 2024 · Andrea Manzini

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’ll explore how to leverage pytest-qt, a powerful framework for headless testing of PySide/PyQt applications. ...

May 22, 2024 · Andrea Manzini

Fault Injection in Network Namespace and Veth Environments

Prelude This is a followup from my previous post and a sort of continuation on the series of the topic, where we are exploring ways to make our test system more “unreliable” in order to observe if our applications behave nicely under challenging and not-ideal environments. In this article we are going to explore some linux technologies: Network Namespaces (netns) Virtual Ethernet Devices (veth) Network Emulation (netem) scheduling policy The goal is to setup a virtual network link inside our system, make the two network devices talk each other and then simulate a bad/slow/glitchy/flaky communication to test how applications behave under difficult conditions. ...

January 6, 2024 · Andrea Manzini