Commit Graph

15 Commits

Author SHA1 Message Date
Jeremiah Orians 46cf81af83
Replace file_print with fputs 2021-04-03 18:56:55 -04:00
Jeremiah Orians 37ca8e3df9
Remove test/common_x86 files and switch x86 to M2libc 2021-02-17 22:01:28 -05:00
Jeremiah Orians 5f8484e683
Move self-hosting test to use M2libc 2021-02-17 21:40:59 -05:00
Jeremiah Orians fc4c1998aa
Remove test/common_knight/ files and switch knight-posix to M2libc 2021-02-06 00:45:32 -05:00
Jeremiah Orians 6f8e2eb905
Removed need for fixup 2021-02-02 23:39:27 -05:00
deesix 548993a884 tests: use new-style mescc-tools flags
This completes the transition started in Knight scripts during their M2libc
migration at f2094a9e5b

from           : to

--BaseAddress  : --base-address
--BigEndian    : --big-endian
--LittleEndian : --little-endian

The plan for mescc-tools is to deprecate the old (pre-1.0.0) flags.

Note that test0101 compiles "hex2 0.3" and verifies that it works by
linking an example. This 0.3 version requires the old-style flags, so the
calls to test/results/test0101-*-binary are left unchanged.
2021-01-23 00:00:00 +01:00
deesix ae897dcfdb tests: no --exec_enable in hex2 calls because it's "Effectively a NOP"
hex2 in mescc-tools defaults to executable output file since 1.0.0.

See 0a553f720d39dae4231611671e4163a2d2422e0a there.

This completes the removal started in Knight scripts during their M2libc
migration at f2094a9e5b

Note that test0101 compiles "hex2 0.3" and verifies that it works by
linking an example. Calls to test/results/test0101-*-binary never used the
flag because we don't call the linked example (we just check its SHA-256).
2021-01-23 00:00:00 +01:00
deesix 52b638f48f tests: prettier scripts
One line per flag for multi-line "Verify that the resulting file works"
calls; for coherency with 3aa8327334
2021-01-23 00:00:00 +01:00
deesix 9f26dbcc68 tests: support for make -j
For any test there's a directory with a script for each architecture.

These scripts generate intermediate files in the dir during compilation,
with the same names no matter the arch. So if one tries to execute the
scripts in parallel they all fight for the files.

To allow for parallel testing, now we create a temporal dir named after
the arch to isolate the intermediate files. Scripts are patched
accordingly.

This also allows easier clean-up: now, removing the temporal dirs is
almost all that we need (and the per-test .gitignore files are replaced
with a couple of lines in test/.gitignore). A common script replaces
the per-test cleanup.sh. It gets the number of the test as an argument
and takes care of some minor special cases. The makefile is adapted to
use this new test/cleanup_test.sh script.

Those special files are created during the last stage of each test, but
only if the host arch matches the test. They're _not_ isolated here
because it's harder (due to how we do the checksum) and they cannot
collide unless emulation is used and several calls to make are made at
the same time.
2021-01-12 00:00:00 +01:00
deesix 3aa8327334 tests: prettier scripts
One line per flag for the major calls. This simplifies a bit the automated
patching for parallel testing that comes next.
2021-01-12 00:00:00 +01:00
Sanne Wouda a18e0c1782 Add newline tokens to parse stream
- needed to determine start and end of macro directives
- the main parser doesn't need them, so strip out the newline tokens
  before parsing to avoid changing it
2021-01-05 22:23:15 +00:00
Jeremiah Orians 921cc86ce6
First generation implemention of typedef 2021-01-02 22:00:02 -05:00
Jeremiah Orians 1975d88581
Fix GCC 10 compatibility issue 2020-11-15 20:28:33 -05:00
Jeremiah Orians 39915de931
harmonize integer behavior when reading strings 2020-10-17 13:50:25 -04:00
Jeremiah Orians 6343e48600
Major relocation of tests to better structure for future additions 2020-02-28 18:27:12 -05:00