Add basic unit tests
This change adds basic unit tests and a test harness that compiles code and compare its with an expected value. If any difference is found the test fail and show a friendly diff and the generated code.
Isn't this accomplishing the same job as the end to end tests we had before?
@Ph0enixKM these are unit tests (instead of integration tests). The purpose is to (quickly) test the exact generated output.
@FedericoCeratto I know what these do but what's the practical difference? Oh... instead of testing result we test the resulting bash code. But then we'd have to modify a lot of tests since we'll be now working on making the bash look more readable
@Ph0enixKM Yes, the tests are meant to capture the generated shellscript and reflect improvements in readability. More importantly they would detect any unexpected change in the script layout. The amount of tests should remain very modest.
@FedericoCeratto can you check this PR?
@FedericoCeratto just a ping
@FedericoCeratto @amber-lang/trusted-maintainers I'll close this PR for now so that it does not take space in open PR list. We can always reopen it