Skip to content

✨ 🔨 Conclusive and Automated Testing #39

@WillXuCodes

Description

@WillXuCodes

Overview

CI driven or at least script driven SITL/HITL test asset(s), allows for faster development and minimizes backtracking to fix bugs.

Some potential requirements for this:

  • Hardware in the loop (HITL) asset like a V5 brain hooked up to something acting as a CI server to test something.
  • A robust software in the loop (SITL) platform that can run directly on the CI server that kicks off a suite of tests just to sanity check that all the API still behaves like how we expect it to behave. Could probably use V5 Qemu that vexide developed for some of this.
  • Every addition to the API requires test cases to this test suite.

Motivation

One massive issue with the mainline PROS development process is that there's not an emphasis on developing proper test assets anymore (and especially ones that aren't too manual or a pain to use).

With a longstanding project, developing automated and streamlined tests assets may seem like a pain but having HITL/SITL tests allow a team to measure twice, cut once and move a lot quicker than a team that doesn't.

Additional Information

There are unit tests written for each sensor/actuator in the PROS kernel repo somewhere, I'm sure these can be updated to fit Zest's API and then used in some form of automation.

This was something that was being worked on as a pretty big deal with PROS but I think it fell apart after I left :(.

It's admittedly not a "sexy" problem to work on but it's something that is crucial for project stability.

Simulation

We can use vexide/vex-v5-qemu, for proper simulation. Alternatively we can take the WPIlib route and compile for the host architecture.

Requirements

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    readythis issue is ready to be worked on

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions