Home

Week_2

Introduction

Quite a lot of things happened in this week!

As this was by first time contributing to an Open Source project, and as this was the first time I was using git without having rm -rf as a failsafe (although believe me, I tried), the PR become a little too unstructured, as it added too many new things at once.

But that’s perfectly fine!

We’re here to learn after all, so my big monolith PR was divided into four smaller ones. Of these two have been submitted, and one has been accepted. The process is slow, but the code quality is definitely going up, and the code reviews have been really helpful.

PRs Galore!

More info on this in the previous blog post.

More info on this in the previous blog post.

Of note in this PR is the use of a templating engine to generate tests for both the Rust and C side from a template file. It is quite an interesting idea, to leverage a templating engine that was designed mainly for the web, but it works extremely well here, although things do get cluttered pretty quickly, which some preprocessing in the Rust side should solve.

Other than that, the most difficult aspect was integration tests. Rust heavily depends on cargo as its build system, so using the rustc compiler directly for everything, while not impossible, does make things a lot more complicated. Ultimately it was decided to have the bare minimum amount of tests, and that they only run on platforms that aren’t cross compiled. Instead we could port the existing ctest-test, which is a proper cargo project and does not create more problems.

What’s Next?

Meanwhile in a local sandbox I’ve been working out all the code for the other PRs while the second one is being reviewed. Soon I’ll also start research on template engines (like askama) to generate the tests we need, and then we’ll have a minimum viable product ready!

© 2025    •  Theme  Moonwalk