Commit Graph

45 Commits

Author SHA1 Message Date
Torsten e8111c259b fix last tests that required faked returns 2020-03-28 19:46:07 +02:00
Torsten a3effe29f6 adding integer compare tests and fixing returns
true, false and nll were not handled correctly as returns
returns assume int, and reduce. The solution (hack?) is to add fake numbers into true,false and nil that get returned from from the arm syscall
(and it works!, which means i can fix other tests now)
2020-03-28 18:41:59 +02:00
Torsten 8dfcc0f5de add decent method to get the programs return to interpreter
only had such methods in tests, but they really belong in code
also adding fake values to true ,false and nil
2020-03-28 18:39:49 +02:00
Torsten 8fa00d1413 move math code to arm
with more bugs surfacing
2020-03-28 12:25:53 +02:00
Torsten e51cd8420b move conditional test to arm 2020-03-28 11:51:16 +02:00
Torsten 2b467fc555 make class method tests arm tests 2020-03-28 09:36:16 +02:00
Torsten 06944142d6 moving more tests to arm
and guess what, finding bugs (index ones)
not fixed though
2020-03-27 20:18:14 +02:00
Torsten c29bb44159 move more tests from interpreter to mains
while now
all interpreter tests with only return tests move now
2020-03-27 19:04:10 +02:00
Torsten 249e643823 change env name, travis is having trouble 2020-03-26 21:07:01 +02:00
Torsten 22727ba150 arm tests back on line 2020-03-26 20:30:47 +02:00
Torsten 94e4f3a9bf better framework for running arm test
more explicit, rather than gobbling files, pass code in
preload is available (so code does not have to be duplicated)
interpret first, so bad mistakes get caught
no ssh, just qemu-arm, configure through env
2020-03-26 20:28:59 +02:00
Torsten 6d2ecf7ee6 disable arm mains tests until debugged 2020-03-22 18:18:07 +02:00
Torsten Rüger 5b27ae7ddf use env, not class var aas compilation switch 2020-02-08 17:44:35 +07:00
Torsten Rüger 41eccb9382 Removing preloads from mains tests
Instead of loading all preload for all tests, adding just those functions that are needed for each. Should reduce test times.

Also renaming tests to give some indication of difficulty. Alas they are not run in that order.
2019-09-24 22:05:38 +03:00
Torsten Rüger 3df54910cc rename singleton_class to single_class and misc
was clashing with real ruby method name
also many superclass mismatch fixes
some misc
2019-09-24 17:25:19 +03:00
Torsten Rüger 1ee01622c3 Builtin is no more, final conversions done
All preloading where it needs to be
(some)tests for the preload
split compiler test
remembered binary tests (usually just run on travis)
2019-09-13 20:34:41 +03:00
Torsten Rüger 12b29285d7 Lots of preloading for tests
so many relied (implicitly( on some builtin function
after all can't do much in ruby without calling
Now all those dependencies are explicit
Small risc changes come because the macro version has a return label and unreachable label
2019-09-13 14:07:12 +03:00
Torsten Rüger 0ae7c5d8aa hacking method not found
was using exit, since raise is not implemented. This was ambiguous as all programs exit.
Using :died as special kernel code and bending it, and reporting it in interpreter.
2019-09-09 11:47:37 +03:00
Torsten Rüger 6811fc4174 fix interpreter to output symbols
which amazingly lets us get at classnames etc
2019-09-08 15:31:03 +03:00
Torsten Rüger a99abd7ad0 update gems, remove ssh 2019-09-08 13:44:51 +03:00
Torsten Rüger b9bdc55059 A good start on the macro idea
I call it macro because it lets you insert basically arbitrary risc code into the ruby level. The way it works:
Reserve namespace X
map any X.some_call to a Mom instruction
by the name SomeCall
which must take the same args in constructor as given
And obviously produce whatever risc it wants
Hoping to rewrite builtin around this idea (with the existing Mom builtn instructions)
2019-08-25 14:40:59 +03:00
Torsten Rüger c0a3c9b65c block version of loop
no debugging, just worked!
only about 10% slower, nice
also recording qemu-linux times, which are a lot faster(and double bonus, save the startup/syncing)
2019-08-24 17:00:59 +03:00
Torsten Rüger ee8927b059 Fix slot access for constants
Type access is allowed for any object, including constants.
Needed for parfait
2019-08-18 20:35:01 +03:00
Torsten Rüger 5a80850975 still debugging travis (for arm tests) 2019-08-18 15:40:40 +03:00
Torsten Rüger 6547b1608d Ok, any fail makes it go red, now i know
also making command configurable as they seem different on ubuntu (16?) 
than fedora 30 (and who knows where else)
2019-08-18 15:30:52 +03:00
Torsten Rüger 02a4742cc2 Backticks raise exception, who knew
catching and tryig different exe name
2019-08-18 15:22:09 +03:00
Torsten Rüger c9d77a29b2 Running tests on binary through qemu (system, no ssh) 2019-08-18 12:39:23 +03:00
Torsten 95af84e752 fixing test to pass
and extract own kind of same tests to bench
bench tests will need some loop, but not as large as c
2019-07-25 21:25:15 +03:00
Torsten 00bf38a0e6 updating benchmarks
on the new machine, consistent
not rubyx yet
2019-07-23 20:14:28 +03:00
Torsten Ruger eec72a9fca Successfully interpret class methods
just about closes #24
2019-02-27 09:48:21 +02:00
Torsten Ruger a89301d623 finally creating less objects in the test
basic still #23 , now applied
Basic size of 20, interpreter gets 50 and the full set is 1024

Tests run more than twice as fast!!
2019-02-09 12:44:35 +02:00
Torsten Ruger 8d3a1954fa close #21
Mostly replaced Fixnum with integer
also in the rx-file dependency
all travis and testing with 2.4+
2019-02-07 18:24:35 +02:00
Torsten Ruger 5015a11108 function docs improvements 2018-11-14 12:41:13 +02:00
Torsten Ruger 5b2c7745fe move the methods test to mains
previous commit made the mains tests more general
this joins methods tests here
so we can run them on arm too
fix #11
2018-08-18 20:06:15 +03:00
Torsten Ruger 80264c5322 mains tests can include any code
not wrapping as main anymore
(must still include mains)
first part of #11
2018-08-18 19:42:14 +03:00
Torsten Ruger f5ea51c4d0 new test to run out of ints 2018-08-08 12:03:17 +03:00
Torsten Ruger 554c2d3d73 just checking fibo 30
at just under 8000 instructions i can't wait to run real benchmarks
2018-08-06 14:13:39 +03:00
Torsten Ruger c947c27a14 clean up booting
many machine boot became obsolete
or just neede parfait to boot
actual linker functionality pending
2018-07-01 14:12:42 +03:00
Torsten Ruger 7006c8e3aa fix remaining tests
rename ripples
2018-06-29 22:56:49 +03:00
Torsten Ruger c8451d0048 create rubyx dir and move previous vool_compiler there 2018-06-29 22:46:39 +03:00
Torsten Ruger f83f52faa0 reusing ssh instance for arm
some speedup , but hoped for more
2018-06-24 17:44:02 +03:00
Torsten Ruger c8a903cd83 adds arm testing of same files 2018-06-24 17:10:39 +03:00
Torsten Ruger ae976c8fb9 generate mains test methods according to file name 2018-06-24 16:48:23 +03:00
Torsten Ruger 8d369dbfa1 automate mains test more
move sources and include exit code and stdout in filename
2018-06-24 13:37:36 +03:00
Torsten Ruger 563ed4647a extract the ruby from mains tests
move up in directory
in preparation for arm tests
2018-06-24 11:56:10 +03:00