George Koehler
a1d1f38691
Add test for EM rol, ror. Fix i80, i86, powerpc.
...
EM instructions _rol_ and _ror_ do rotate an integer left or right.
Our compilers and optimizers never emit _rol_ nor _ror_, but I might
want to use them in the future.
Add _rol_ and _ror_ to powerpc. Fix `rol 4` and `ror 4` in both i80
and i86, where the rules for `rol 4` and `ror 4` seem to have never
been tested until now.
2017-12-07 17:16:21 -05:00
George Koehler
50a160c07f
Increase time-out from 5 to 15 seconds.
...
My computer is too slow, so qemuppc tests randomly timed out. With
this commit, my machine passes the qemuppc tests (if I also edit the
top build.lua to enable qemuppc).
2017-11-08 15:02:56 -05:00
George Koehler
96e23b3a0f
Show tests that @@TIMEDOUT.
...
A `set -e` in testdriver.sh caused it to exit early and hide the
output of a @@TIMEDOUT test, so I never saw the @@TIMEDOUT marker.
Then build.lua added a @@FAIL marker.
2017-11-08 14:08:43 -05:00
George Koehler
3d6ee435cf
Fix pattern that was rewriting func(! var, var) as func(1).
...
Bug reported by Rune, see
- https://sourceforge.net/p/tack/mailman/message/35809953/
- https://github.com/davidgiven/ack/issues/62
In EM code, beq and bne pop 2 values and compare them, but teq and tne
pop only 1 value and compare it with zero. We need cms to compare 2
values; other patterns may convert cmi or cmu to cms.
2017-10-29 14:53:33 -04:00
David Given
81c677d218
Add a bunch more set operations to the PowerPC backends, and the Pascal test
...
for the same.
2017-01-17 22:31:38 +01:00
David Given
5fd1634830
Rename the test to something more sensible.
2017-01-15 22:33:41 +01:00
David Given
e7e29d34ff
Add a test (currently failing) to check that Pascal char sets can store all 256
...
possible values. Add the PowerPC ncg and mcg backend support to let the test
actually run, including modifying a bunch of PowrePC libem functions so that
they can be called from both ncg and mcg.
2017-01-15 22:28:14 +01:00
David Given
837b9622fb
Make sure that constant folding doesn't render our tests trivial.
2017-01-07 19:53:57 +01:00
David Given
39215c131e
Moved the inc/dec operator tests into their own source file; more exhaustive
...
testing.
2017-01-07 18:38:43 +01:00
David Given
e2751f76b5
Add a control flow test.
2017-01-01 23:51:48 +00:00
David Given
be909fe045
Add tests for more operators.
2017-01-01 17:44:03 +00:00
David Given
1beedca590
Add support for B tests; add a test for the B operators (finding several
...
compiler bugs in the process).
2016-12-31 17:38:52 +00:00
David Given
62edb90641
Convert the inn test to work with the test library and not import InOut; it now
...
runs on qemuppc again. Reenable qemuppc tests.
2016-12-11 23:06:37 +01:00
David Given
1039c0a747
Add a test for #22 .
2016-12-06 22:07:22 +01:00
David Given
cc3d72e884
Fix redirection so stray stderr output from qemu doesn't cause mysterious test
...
failures.
2016-12-06 22:05:14 +01:00
David Given
55e24e1f24
inn was assuming that bitfields were arrays of bytes, when actually they're
...
arrays of words (which makes the LSB move on big-endian systems).
2016-12-06 21:45:20 +01:00
David Given
467709ff38
Report skipped, failed and timed out tests.
2016-12-02 00:00:31 +01:00
David Given
9e6581b0ff
Mark skipped tests in the logs (so we can get stats on them later).
2016-12-01 23:14:29 +01:00
David Given
8c99e2b7ad
Run all tests, even the ones which fail, and emit a test summary right at the
...
end of the build (and fail then).
2016-12-01 23:03:30 +01:00
David Given
960584c0f3
Replace the hacky and broken pipeline in testdriver.sh with a custom-written
...
tool in C; much more robust and easier to understand, as well as avoiding the
dependency on timeout (which isn't Posix).
2016-11-29 20:59:43 +01:00
David Given
4f446467c8
Suppress spurious message when testdriver probes for a testing method.
2016-11-26 21:50:56 +01:00
David Given
2dc083f436
Use command -v rather than hash to detect commands (command is Posix and works
...
on OpenBSD).
2016-11-26 12:53:36 +01:00
David Given
cf33bd6cc4
Enable tests for linuxppc via qemu-ppc.
2016-11-26 11:56:17 +01:00
David Given
8a58614aef
Rework the tests to run on pc86; lots of test fixes for the brk() test, which
...
was nearly useless; lots of fixes to qemuppc and pc86 sbrk(), which was broken;
change the pc86 console to echo output to the serial port (needed for running
tests on qemu).
2016-11-26 11:23:25 +01:00
David Given
5f66f06dc6
Refactored the tests to make the generic across different plats.
2016-11-25 21:02:51 +01:00