rubyx/test
Torsten Ruger ad3040a846 add position_chaning to event interface
by reacting to the change _before it happens, we can move any BinaryCode out of the way

So when Instruction are inserted and code gets inserted, we don't need to set up the correct listener explicitly (which is tricky across mathods and changing chains), but instead just move anything that is in the way along
2018-06-09 08:10:41 +03:00
..
arm make the instructions jump over the BinaryCode end 2018-06-07 19:27:44 +03:00
bench fix mod4 name 2018-04-19 10:00:55 +03:00
elf integer was wrong padded§ length 2018-05-30 14:55:17 +03:00
lib use modified opal logger 2018-05-20 14:45:48 +03:00
mom reducing the label's int for return 2018-05-30 12:54:40 +03:00
parfait small arm fixes etc 2018-06-06 00:53:41 +03:00
risc add position_chaning to event interface 2018-06-09 08:10:41 +03:00
support write adjusted address 2018-05-31 00:07:58 +03:00
vool assemble risc to it's position (not itself) 2018-05-17 09:49:01 +03:00
helper.rb integer was wrong padded§ length 2018-05-30 14:55:17 +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