rubyx/test
Torsten Ruger 1132309f6a unify space collection attribute naming
currently space is still acting as a sort of memory manager.
For proper linking, all objects must be reachable from space, hence the plural versions like messages and addresses (even they are instances, it is the list that is important)
To dish out instance to use, the head must be kept, ie next_XXX for intergers, return addresses and messages
2018-07-02 15:49:51 +03:00
..
arm clean up booting 2018-07-01 14:12:42 +03:00
bench fix mod4 name 2018-04-19 10:00:55 +03:00
elf clean up booting 2018-07-01 14:12:42 +03:00
lib use modified opal logger 2018-05-20 14:45:48 +03:00
mains clean up booting 2018-07-01 14:12:42 +03:00
mom return the linker from mom_compiler 2018-07-01 21:51:48 +03:00
parfait unify space collection attribute naming 2018-07-02 15:49:51 +03:00
risc unify space collection attribute naming 2018-07-02 15:49:51 +03:00
rubyx return the linker from mom_compiler 2018-07-01 21:51:48 +03:00
support fix platform derivation and some tests 2018-07-01 21:27:27 +03:00
util small maintanance 2018-06-16 21:01:15 +03:00
vool return the linker from mom_compiler 2018-07-01 21:51:48 +03:00
helper.rb hoist parfait boot out of the machine boot 2018-06-30 00:39:23 +03:00
README.md remove traces of salama 2017-08-29 18:38:51 +03:00
test_all.rb restrict tests to test dir 2017-04-14 20:37:47 +03:00

Testing

Testing is off course great, and well practised in the ruby community. Good tests exists in the parts where functionality is clear: Parsing and binary generation.

But it is difficult to write tests when you don't know what the functionality is. Also TDD does not really help as it assumes you know what you're doing.

I used minitest as the framework, just because it is lighter and thus when the time comes to move to rubyx, less work.

All

'''' ruby test/test_all.rb ''''

Parfait

Well, test Parfait. Not perfect, but growing as bugs appear. Basics are ok though.

Compiler

Different kinds of quite minimal tests that ensure we can go from parsed to code.

Fragments

Much more elaborate tests of the compling functionality. All code constructs and their output in terms of instructions are tested.

vm

Mostly tests about the Parfait compatibility layer and padding (for assmenbly). Slightly bad name ... wip