Speaking of tests, some people already know as it was largely discussed on IRC already, but I've integrated the autotester in CEmu as well (at least, just enough, for now, to make it work).
Quick summary: the "autotester" is a tool that allows native CE programmers to create and launch automated unit tests, by creating a test config file (in JSON) like the following:
Code:
As you can see, you just have to provide a sequence of actions to be done, and when/where to hash (CRC32), so that it can compare to good values.
That allows you to try out libraries updates, for instance, to avoid regressions
The autotester runs either in standalone (linking with libcemucore), or integrated in CEmu (it has a dock by itself).
Please do report any issue you may find.
As usual, the relevant source code is here: https://github.com/CE-Programming/CEmu/tree/master/tests/autotester
Quick summary: the "autotester" is a tool that allows native CE programmers to create and launch automated unit tests, by creating a test config file (in JSON) like the following:
Code:
{
"rom": "84pce_515.rom",
"transfer_files": [
"graphc_v3.2.8xv",
"libload_v1.0.8xv",
"demo1.8xp"
],
"target": {
"name": "PROG01",
"isASM": false
},
"sequence": [
"action|launch",
"delay|500",
"hash|1",
"key|enter",
"delay|500",
"hash|2"
],
"hashes": {
"1": {
"description": "Fill screen in red (TODO: find real hash)",
"start": "vram_start",
"size": "vram_8_size",
"expected_CRCs": [ "A99AE348" ]
},
"2": {
"description": "Back to the home screen (exit check) (TODO: find real hash)",
"start": "vram_start",
"size": "vram_16_size",
"expected_CRCs": [ "6EF61DFC", "97807FAA" ]
}
}
}
As you can see, you just have to provide a sequence of actions to be done, and when/where to hash (CRC32), so that it can compare to good values.
That allows you to try out libraries updates, for instance, to avoid regressions
The autotester runs either in standalone (linking with libcemucore), or integrated in CEmu (it has a dock by itself).
Please do report any issue you may find.
As usual, the relevant source code is here: https://github.com/CE-Programming/CEmu/tree/master/tests/autotester