Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

There are three parts to this. Yes, testing is that important.

  • Unit testing: testing small parts of our code by writing more code. Ideally, each .c file other than main should have an associated test file that tests the logic. These test files are meant to be run on x86. They’re run every time you open a pull request on GitHub.

...

Here’s an example of a unit test from the tests for our GPIO library. It sets up the pin, asserts that it was set up correctly, then ensures checking the state returns the value it was initially set to (notice that in the init settings the state is HIGH).

  • Hardware testing: running the project on the actual hardware. Also, creating validation projects that test specific parts of the hardware, but not necessarily implementing the logic. We call these smoke tests. More documentation can be found here: Smoke Tests .

  • Integration testing: Wiring a bunch of boards together and making sure they play nice. Hopefully by this stage our code is well tested and the logic is bullet proof, but there’s always something that comes up here.

When working remotely, hardware testing will occur by either asking a hardware member to flash your code and then telling you the results, or by video calling and debugging the project together.

...

Each JIRA ticket has a number, which will be important for GitHub.

For now, only the leads will create tickets. If you find an issue, report it to a lead.

GitHub

Once you’re assigned a ticket on JIRA, the next step is to create a branch on GitHub. If this is unfamiliar to you, read up on git or watch Arshan’s video lectures on the subject.

...