Skip to content

Some basics

james h requested to merge jgh-/librist:master into master

Waking up in the morning is the best feeling in the world. The sun is shining, the songbirds are chirping, and your coffee maker has started its first brew of the day presicely at 7:54 am. You hop out of bed, put your slippers on, and march into the bathroom to brush your teeth. But first you look at yourself square in the eye and say to yourself "RIST, you're going to be the most technically excellent UDP video transport in the world. SRT is based on some weird 25 year old university project. Zixi? What the hell is a Zixi anyway? QUIC? More like QUACK.. ha ha ha"

After dutifully brushing for 30 seconds per quadrant you head down to the kitchen, pour yourself the first cup of coffee for the day, and settle in to hammer out some features and maybe fix a bug or two. As you try to focus, though, there's a doubt in the back of your mind. A strange sensation that is telling you that something is amiss. It's always there, day after day, but today it's particularly acute. What could it be?

In an effort to allay your fears you crank open Firefox and you browse to https://github.com/haivision/srt. Maybe reveling in your technical superiority for a little bit will inspire you. Maybe check out some of their stupid bug reports that only idiots would have. But first you take a quick pass at the readme. "TESTS: PASSING". Huh, that seems normal. Might as well check out the commit log. Latest commit: "FIX ERRORS STATIC ANALYZER DISCOVERED". O.k. Feeling curious you decide to poke around their CMakeLists.txt a little bit. "ENABLE_SANITIZER" is an option, with several different configurations. Interesting. You dig further. "-Wall -Wpedantic -Wextra -Werror".

You are beginning to come to a horrifying realization, as if you are realizing you left your brand new iPhone at a busy starbucks four hours ago. You hurry back to https://code.videolan.org/rist/librist in a vain effort to double check. Double check what? There's nothing there.

You know now that you've messed up and the only path is forward. No CI. No unit tests. No sanitization. No static analysis. Not even elevated warnings. You have sinned deeply against the gods of software development and your hubris has led you to this point. Your only absolution is writing unit tests.

In this PR I have elevated the warning levels, added error on warning, fixed the warnings, added a basic CI pipeline, added a test target and an example unit test. If you want absolution from the gods and the right to call yourselves the most technically superior udp video transport on earth you need to get to writing unit tests.

Merge request reports