This repository is used to perform metamorphic testing of the GD32 ILI9341 Graphics library called TFT_eSPI, which is available at https://github.com/Bodmer/TFT_eSPI.
It contains a Pyhton script which performs following step:
- Generate a test case
- Compile the test case using the RISC-V (Nuclei) GCC
- Run the test case on the VP and GUI (this produces screenshots)
- Compare the screenshots
- Store Results
- PlatformIO with working RISC-V (Nuclei) GCC
- Working Python3 environment
- Metamorphic Testing repository
- GD32 VP + GUI
- Clone Metamorphic repository
git clone https://github.com/ics-jku/metamorphic_testing.git
- Clone RISCV-VP++ repository
git clone https://github.com/ics-jku/riscv-vp-plusplus.git
- Install packages and build RISCV-VP++ according to README of RISCV-VP++
sudo apt install ...
make -j
- Build GUI for display
cd /env/gd32/vp-breadboard
mkdir build
cd build
cmake ..
make
- Edit "config.py" with your personal folder locations
Replace tokens in "<>" tags with your pathes e.g.
"BASE": "<METAMORPHIC_TESTING_CLONE_FOLDER>/",
"BASE": "/home/user/metamorphic_testing/",
- Execute MT environment
python3 Main.py
@inproceedings{HSG:2024,
author = {Christoph Hazott and Florian St\"ogm\"uller and
Daniel Gro{\ss}e},
booktitle = {ASP Design Automation Conf.},
title = {Verifying Embedded Graphics Libraries leveraging
Virtual Prototypes and Metamorphic Testing},
year = {2024},
}