auf einer shell (bash):
$ ./bba --input⏎
terminate called after throwing an instance of 'std::runtime_error'
what(): Nicht genügend Argumente.
Abgebrochen (Speicherabzug geschrieben)
$ ./bba --input || echo OK⏎
terminate called after throwing an instance of 'std::runtime_error'
what(): Nicht genügend Argumente.
Abgebrochen (Speicherabzug geschrieben)
OK
$ { ./bba --input ; } 2>/dev/null || echo OK⏎
OK
test.pgm:
P2
# mein erstes Testbild
4 2
255
0 1 2 3
16 32 128 255
Dokumentation Portable Anymap. Zeilenumbruch am Ende nicht vergessen.
$ ./bba --input test.pgm --output ausgabe.pgm⏎
$ diff --brief test.pgm ausgabe.pgm && echo OK⏎
Dateien test.pgm und ausgabe.pgm sind verschieden.
$ cat ausgabe.pgm⏎
P6
# Generated by OpenCV 4.2.0
4 2
255
…
nach dem Ändern des Programms:
$ ./bba --input test.pgm --output ausgabe.pgm⏎
$ diff --brief test.pgm ausgabe.pgm && echo OK⏎
Dateien test.pgm und ausgabe.pgm sind verschieden.
$ cat ausgabe.pgm⏎
P3
# Generated by OpenCV 4.2.0
4 2
255
0 0 0 1 1 1 2 2 2 3 3 3
16 16 16 32 32 32 128 128 128 255 255 255
nach dem Ändern des Programms:
$ ./bba --input test.pgm --output ausgabe.pgm⏎
$ diff --brief test.pgm ausgabe.pgm && echo OK⏎
Dateien test.pgm und ausgabe.pgm sind verschieden.
$ diff test.pgm ausgabe.pgm⏎
< # mein erstes Testbild
< 0 1 2 3
< 16 32 128 255
---
> # Generated by OpenCV 4.2.0
> 0 1 2 3
> 16 32 128 255
$ ./bbacheck.py --help
$ ./bbacheck.py --dut aufg0/build/bba aufg0/test.json
[
{
"title": "Bild laden und unverändert speichern",
"command": "{DUT} --input {IMGDIR}test.pgm --printpnm",
"expect": {
"pixels": [0, 1, 2, 3, 16, 32, 128, 255],
"image": "{IMGDIR}test.pgm"
}
}
]
Datei muss als Unicode gespeichert sein oder Umlaute müssen maskiert werden.
$ ./bbacheck.py --dut aufg0/build/bba aufg0/test.json⏎
Teste nun "Bild laden und unverändert speichern"…
Befehl ist "aufg0/build/bba --input images/test.pgm --printpnm"
OK
Alles klar gut und so und von dem Test IHM sein Ende.