attest-testsystem

A modular and flexible embedded system test framework with dedicated hardware for test execution specifically designed for use in university courses.

https://github.com/eas-attest/attest-testsystem

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.7%) to scientific vocabulary

Keywords

embedded-software embedded-systems real-time-operating-systems student-assessment testing
Last synced: 6 months ago · JSON representation ·

Repository

A modular and flexible embedded system test framework with dedicated hardware for test execution specifically designed for use in university courses.

Basic Info
  • Host: GitHub
  • Owner: EAS-ATTEST
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 3.2 MB
Statistics
  • Stars: 1
  • Watchers: 3
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
embedded-software embedded-systems real-time-operating-systems student-assessment testing
Created almost 3 years ago · Last pushed 9 months ago
Metadata Files
Readme License Citation

README.md

ATTEST: Automated and Thorough Testing of Embedded Software in Teaching

RTOS Testsystem is a python-based test system for the Real-Time Operating Systems course in the Embedded Automotive Systems group at the Institute of Technical Informatics at Graz University of Technology. It was revised from scratch in the winter term of 2022 to improve its performance and functionality. The system utilizes dedicated external hardware for testing to guarantee precise and reliable results. It is firmly git-oriented to embed its functionality in the best possible way.

For comprehensive documentation, please visit the project website.

Getting started

The test system is easiest to use with the provided docker file. The current implementation uses MSP430 microcontroller boards as target devices and 2205A PicoScopes as measurement devices. These devices form test units. A test unit is the dedicated hardware where test cases are executed.

Requirements and Installation

Install docker by following the official setup instructions.

The test system is supposed to run as a docker container, but there are still some requirements on the host system. Run the following command to install the required packages.

apt-get update && apt-get install -y git usbutils

Start the Testsystem

If you just want to start the test system run the following command:

./bootstrap.sh

Or run the hello world equivalent: ./bootstrap.sh --hello-testsystem

If you already have an MSP430 or a PicoScope connected to your host, you can check the availability by running the startup routine. ./bootstrap.sh --run-startup

Docker

The test system runs in a docker container. We suggest you first build the docker image because this may take a while.

docker build -t attest:latest .

When you have the docker image ready, you can inspect the available commands of the test system.

docker run --rm -t attest:latest python3 main.py --help

The provided docker-compos.yml file is a ready-to-use setup for the test system. It combines the test system with a MySQL database for persistent storage. Adjust the environment variables and the volumes according to your system setup. The docker-compose-template.yml is used by the bootstrap script for automatically generating a compose file with the correct device configuration.

Documentation

For comprehensive documentation, please visit the project website.

Or you build the documentation locally by running the following command after you have the docker image ready. The documentation will be generated in the current working directory.

docker run --rm -t \ -v "$(pwd)":/host attest:latest \ bash -c "make html && cp -R _build/html /host/documentation"

Contributing

The recommended way for developing the test system is by using VSCode and the development container feature. The project contains a dev container configuration for VSCode to make contributions as easy as possible. To start the dev container, press CTRL+SHIFT+P, type Dev Containers: Open Folder in Container... and select the cloned test system directory. The dev container configures the environment, includes all the required packages, and contains some useful VS Code extensions for development. If test units are available, add the respective devices to the runArgs section in the .devcontainer/devcontainer.json file and restart the container by typing Dev Containers: Rebuild Container into the VSCode Command Palette.

Authors

Cite

@inproceedings{10.1145/3593663.3593678, title = {{ATTEST: Automated and Thorough Testing of Embedded Software in Teaching}}, author = {Kissich, Meinhard and Weinbauer, Klaus and Baunach, Marcel}, year = {2023}, doi = {10.1145/3593663.3593678}, booktitle = {Proceedings of the 5th European Conference on Software Engineering Education}, pages = {199–203}, numpages = {5} }

License

This project is published under the MIT license.

Owner

  • Name: EAS-ATTEST
  • Login: EAS-ATTEST
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it using the metadata from this file."
authors:
- given-names: "Meinhard"
  family-names: "Kissich"
  orcid: "https://orcid.org/0000-0003-4810-8312"
- given-names: "Klaus"
  family-names: "Weinbauer"
  orcid: "https://orcid.org/0000-0002-3349-9157"
- given-names: "Marcel"
  family-names: "Baunach"
  orcid: "https://orcid.org/0000-0002-3716-2682"
title: "ATTEST: Automated and Thorough Testing of Embedded Software in Teaching"
doi: "10.1145/3593663.3593678"
preferred-citation:
  type: conference-paper
  authors:
  - given-names: "Meinhard"
    family-names: "Kissich"
    orcid: "https://orcid.org/0000-0003-4810-8312"
  - given-names: "Klaus"
    family-names: "Weinbauer"
    orcid: "https://orcid.org/0000-0002-3349-9157"
  - given-names: "Marcel"
    family-names: "Baunach"
    orcid: "https://orcid.org/0000-0002-3716-2682"
  doi: "10.1145/3593663.3593678"
  title: "ATTEST: Automated and Thorough Testing of Embedded Software in Teaching"
  year: 2023

GitHub Events

Total
  • Push event: 2
Last Year
  • Push event: 2

Dependencies

docker-compose-template.yml docker
docker-compose.yml docker
  • attest latest
  • mysql latest
.github/workflows/build_doc.yaml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
requirements.txt pypi
  • PicoSDK *
  • SQLAlchemy ==1.4.48
  • black *
  • gitpython *
  • matplotlib *
  • numpy *
  • pandas *
  • pyserial *
  • pytest *
  • pytest-cov *
  • sphinx *
  • sphinx-rtd-theme *
  • tqdm *