In this post I will describe my approach to C unit testing using pytest. In particular, we get to see how to gracefully handle SIGSEGVs and prevent them from stopping the test runner abruptly. Furthermore, we shall try to write tests in a Pythonic way.
Articles in the Programming category
❱ My first close encounter with the Linux kernel source
I finally had the chance to set some time aside to touch the Linux kernel source, for fun and profit. This is the story of how I implemented a new BPF helper.
❱ Increasing Austin accuracy with a dobule-heap trick
The latest version of Austin comes with a heap size option that can be used in increase the accuracy with which invalid samples are detected. In this post I give a brief description of how this works.
❱ How I completed the Hacktoberfest 2021 challenge with a profiler
I shall reveal to you how I managed to complete the Hacktoberfest 2021 challenge with just a profiler. So read on if you are interested!
❱ Spy on Python down to the Linux kernel level
Observability into native call stacks requires some compromise. In this post I explain what this actually means for a Python tool like Austin.
❱ How to bust Python performance issues
In this short post I will try to convince you of how easy it is to find performance issues in your Python code and how you should develop the habit of profiling your code before you ship it.
❱ The Austin TUI Way to Resourceful Text-based User Interfaces
The latest version of the Austin TUI project makes use of a custom XML resource file to describe and build the actual text-based UI, using
curses
as back-end. In this post we shall see how one can use the same technology to quickly build reactive TUIs using Python.❱ An Overview of Monads in Haskell
Monads are arguably one of the most important concepts in functional programming. In this post we pave the street to understanding how this purely category theoretical object finds its place in a language like Haskell.
❱ Deterministic and Statistical Python Profiling
If you want to be sure that your applications are working optimally, then sooner or later you will end up turning to profiling techniques to identify and correct potential issues with your code. In this post, I discuss some of the current profiling tools and techniques for Python. The official documentation has a whole section on the subject, but we shall go beyond that and have a look at some alternative solutions, especially in the area of sampling profilers.
❱ Extending Python with Assembly
What's a better way to fill an empty evening if not by reading about how to extend Python with Assembly? I bet you don't even know where to start to answer this question :P. But if you're curious to know how you can use another language to extend Python, and if you happen to like Assembly programming, you might end up actually enjoying this post (I hope!).