Menu
Sign In Search Podcasts Charts People & Topics Add Podcast API Blog Pricing

Sebastian Scholz

๐Ÿ‘ค Speaker
485 total appearances

Appearances Over Time

Podcast Appearances

Rust in Production
Gama Space with Sebastian Scholz

Yeah, we have some unit tests.

Rust in Production
Gama Space with Sebastian Scholz

And for smaller functionalities, we do use those to test.

Rust in Production
Gama Space with Sebastian Scholz

The theme that we have in our code is we have one big project, but it's built up in smaller crates.

Rust in Production
Gama Space with Sebastian Scholz

So the big onboard data handling system software uses a lot of smaller crates that we also develop.

Rust in Production
Gama Space with Sebastian Scholz

And the smaller crates, they have unit tests for their functionality.

Rust in Production
Gama Space with Sebastian Scholz

But for the big on-board data handling system, it's harder to test these things because they're very much hardware specific.

Rust in Production
Gama Space with Sebastian Scholz

So, for example, if I want to test that our persistence works, so we are able to store data in some sort of flash memory, I can't just write a unit test for it because I need the actual hardware.

Rust in Production
Gama Space with Sebastian Scholz

Sure, I could try to emulate it somehow.

Rust in Production
Gama Space with Sebastian Scholz

But that's a bunch of extra work and I'm not guaranteed that it is going to actually work on the hardware itself.

Rust in Production
Gama Space with Sebastian Scholz

So in an embedded environment, you kind of can't avoid doing integration tests because you need to test on the hardware.

Rust in Production
Gama Space with Sebastian Scholz

So you're just going to test the whole system as a whole.

Rust in Production
Gama Space with Sebastian Scholz

So in fact, all of our flash memory, first of all, it's a very specific chip usually that has some built-in error detection and correction.

Rust in Production
Gama Space with Sebastian Scholz

So on a hardware level, we are protected against it.

Rust in Production
Gama Space with Sebastian Scholz

But on top of that, for specific parts of code that is stored on this flash, because

Rust in Production
Gama Space with Sebastian Scholz

That's the important thing.

Rust in Production
Gama Space with Sebastian Scholz

Code needs to be stored somewhere.

Rust in Production
Gama Space with Sebastian Scholz

And so if that code gets corrupted, you're going to be in big trouble.

Rust in Production
Gama Space with Sebastian Scholz

So one of the steps that we do in our bootloaders is that we check this code for errors.

Rust in Production
Gama Space with Sebastian Scholz

For example, for bit flips.