Amador Pahim

For Better Exit Codes

It’s the SRE mantra: Automate Yourself Out of a Job. And by doing that, we build up, step by step, an automation infrastructure with multiple pieces of software that have to talk to each other. Regardless where those applications will be executed on, the exit code might be the only clue we have to figure […]

Multiple Inheritance and Linearization

What does super() do? Really, answer that in your mind, we will get back to it. It is a well known problem: a class A implements a method foo(). Two classes B and C both inherit from A and both override the method foo(). A new class D inherits from both B and C. When […]

Class Attribute Resolution

Have you ever heard about “data descriptors”? No? One more reason to stick around. Some time ago I was reading the official Python documentation and it was quite hard for me to figure out the full order of the class attribute resolution from there. That’s when I decided to write it down here, hopefully in […]

The Price of Code Golf

I still remember the feeeling. Years ago, like, many years ago, I was sitting at a Free Software conference, watching this presentation “Shell Script OneLiners” (or something like that). The whole thing was around command line sorcery and the magic things we can achieve with one line of Shell script. – “Two lines?! Why so […]

Installing Avocado from Source And Running Tests With Multiple Variants

Whether you want to contribute to the project or just want to have the last improvements first, installing Avocado from source is the way to go.  In this post you have a step-by-step guide to have Avocado up and running getting it from the official git repository. Environment Avocado is developed on Fedora latest, using […]

Does it all come down to post-processing?

Last weekend I went to Špilberk Castle in Brno. From the Castle we have some great views of the city. I took this picture, post-processed it and published in my social networks. The picture looks quite good to my eyes. And the post-processing made a big difference in this one.

Running Robot Framework tests with Avocado

Avocado Framework is a Testing Framework born to replace Autotest/Virttest. It’s extremely flexible, feature rich and has a powerful Test API. Robot Framework is also a Testing Framework. It has easy-to-use tabular test data syntax and it utilizes the keyword-driven testing approach. Avocado has a very sane architecture, well integrated with most popular CIs and […]

Long Exposures on a Budget

It was a rainy day in Prague. At some point in the afternoon, the rain held off for some time. The sun was trying to appear, hopeless. No golden hour, not much time. Still, I took some pictures do demonstrate my budget long exposure gear for those who, like me, value to travel light and […]

oVirt: Power Management for Nested Hypervisors

Introduction A helpful resource for people out there testing and/or developing oVirt is the “Nested KVM”. You can enable a base system to expose the virtualization extension to the VM, then VM will have the “vmx” or “svm” extension available, what makes VM eligible to act as an oVirt Hypervisor. Running Hypervisors in VMs is […]

oVirt Functional Tests using Avocado

Avocado Framework is the new generation Testing Framework born to replace Autotest/Virttest. Avocado is extremely flexible and can be easily used to test anything. If you want to learn more about Avocado, please visit this site: avocado-framework.github.io. The avocado and ovirt-engine-sdk-python installations are quite simple. Usually it’s all about configure the repositories and install the […]

Back to top