Commit graph

7125 commits

Author SHA1 Message Date
David Given
07e654d6e3 Merge from default. 2016-12-02 00:25:50 +01:00
David Given
f1c357b9ea Merge pull request #21 from davidgiven/dtrg-tests
Run all tests, even if some fail, and produce a test summary at the end of the build.
2016-12-02 00:24:44 +01:00
David Given
353e2d2842 Typo fix. 2016-12-02 00:18:44 +01:00
David Given
213def9666 Don't fail to build if all tests are skipped. 2016-12-02 00:14:40 +01:00
David Given
3aa0487289 UI tweaks to the test summary. 2016-12-02 00:10:33 +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
ee22fc5fae Merge pull request #20 from davidgiven/dtrg-tests
Replace the hacky pipeline in testdriver.sh with a bespoke tool.
2016-12-01 22:23:09 +01:00
David Given
b7de58e34e Fix signal unsafety in testdriver.c. 2016-12-01 22:05:22 +01:00
David Given
90547157b4 Merge from default. 2016-11-30 22:07:29 +01:00
David Given
8ce3382996 Merge from default. 2016-11-30 22:04:11 +01:00
David Given
d94c326465 Merge pull request #18 from kernigh/pr-util-ack
util/ack: use DEFAULT_PLATFORM, allow non-ASCII filenames, other changes
2016-11-30 22:00:55 +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
bbcc08a6b6 Fix putchar() return value. 2016-11-28 21:38:46 +01:00
David Given
9f34262f95 Implement enough libb to make 'Hello, world!' work. 2016-11-27 22:05:15 +01:00
David Given
fbd6e8f63d Add support for consecutive labels; needed by the B compiler. 2016-11-27 21:18:00 +01:00
David Given
b9665c7c99 Fix some basic showstopping bugs; compilation now works up to failing to find
the libb standard library.
2016-11-27 21:08:14 +01:00
David Given
4485d89b23 Hook the B compiler up to the compiler driver. 2016-11-27 20:48:07 +01:00
David Given
5bce5fc4da Change the extension used by Basic files for .b to .bas, to avoid conflicts
with B.
2016-11-27 20:38:33 +01:00
David Given
707585b67d Perform initial (i.e. feature complete and compiling, but not necessarily
working) port of the B compiler to EM.
2016-11-27 20:28:19 +01:00
David Given
cfc723250f Initial EM-ification; start threading word size stuff through the code. 2016-11-27 11:58:59 +01:00
David Given
a69045c0e4 Import aap@github's B compiler. 2016-11-27 11:37:25 +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
4633ca0886 Updated the README. 2016-11-26 19:25:02 +01:00
David Given
9641801455 Merge pull request #17 from davidgiven/dtrg-tests
Refactor the tests so they run for several plats.
2016-11-26 12:59:13 +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
a596973f28 OSX doesn't work; let's not bother building it. 2016-11-26 12:52:09 +01:00
David Given
a9a0b37b14 Plats which use aelflod need to depend on it. 2016-11-26 12:07:08 +01:00
David Given
dff67447fe qmu-system-x86 isn't in Travis' repository? Let's try qemu-user. 2016-11-26 12:00:59 +01:00
David Given
98c761d5c0 Enable tests for linux386 via qemu-i386. 2016-11-26 11:58:02 +01:00
David Given
cf33bd6cc4 Enable tests for linuxppc via qemu-ppc. 2016-11-26 11:56:17 +01:00
David Given
90e3d45c69 Travis only whitelists the -x86 version of qemu. 2016-11-26 11:29:57 +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
David Given
bfa8e501a3 Make pc86 echo console output to the serial port, so qemu can pipe it to
stdout.
2016-11-25 20:28:41 +01:00
David Given
ed181a8d20 Ansify Paranoia, because I was getting annoyed by all the compiler warnings on
every build.
2016-11-25 20:01:43 +01:00
David Given
b21197c0c7 Merge pull request #16 from davidgiven/dtrg-pascal-mark-release
Remove the Mark() and Release() procedures from Pascal.
2016-11-24 20:45:14 +01:00
David Given
c084f9f224 Remove the Mark() and Release() procedures from the Pascal compiler and
standard library, because they never worked and come from an achingly old
version of the Pascal specification. Fix the implementations of New() and
Dispose() to use the standard C memory allocator rather than rolling their own
(also in C). Write test!
2016-11-24 20:35:26 +01:00
David Given
899f1ea4f3 Forgot to check in the change to qemuppc's brk() to set errno on memory
allocation failure.
2016-11-24 19:47:11 +01:00
David Given
3b46aadf94 Merge pull request #15 from davidgiven/dtrg-allocs
Fix various memory allocation bugs.
2016-11-23 22:35:50 +01:00
David Given
991f47098c Add a test for brk() and sbrk(). 2016-11-23 22:28:21 +01:00
David Given
6cd2a9ba81 Add a test for calloc(). 2016-11-23 22:22:04 +01:00
David Given
9481487e3d Implement calloc() (accidentally got dropped with the malloc rewrite). 2016-11-23 22:16:25 +01:00
David Given
36ab90385f Change sbrk() to take an int rather than an intptr_t (following the OpenBSD way
rather than the Linux way; various non-C bits of the ACK assume it takes an
int, so it's cleaner).
2016-11-23 22:06:24 +01:00
David Given
0aac9aafd3 Combine brk() with sbrk(); modify brk() to update the sbrk(0) value. 2016-11-23 22:04:21 +01:00
David Given
0b21f18d4c Merge pull request #14 from davidgiven/dtrg-experimental-mcgg
Merge mcg code generator to trunk
2016-11-23 21:58:31 +01:00
David Given
2367b011f5 Don't install qemu-system-ppc until openbios-ppc gets whitelisted by Travis. 2016-11-23 21:53:14 +01:00
David Given
6e9c2d5c0d Also call .trp .trap, for ncg compatibility. 2016-11-20 19:39:28 +01:00
David Given
f8fa3ece42 inn on ncg now passes the CPU tests. 2016-11-20 19:35:34 +01:00