racket / ChezScheme

Chez Scheme
Apache License 2.0
110 stars 8 forks source link

Make bootfiles in travis-ci and fix most of the tests #2

Closed gus-massa closed 5 years ago

gus-massa commented 5 years ago

Where "fix" means to ignore most of most of the test and fix only two of the other failing tests :).

Most of the failures are just complains about changes in the error message. I think it's easier to keep merging the the main repository if these are ignored.

There are only other three remainder test failing, all in the interpreted version.

Two are about memory management, one about compute-size-increment misc.ms#L1099-L1151 and one about enable-object-backreferences 7.ms#L4788-L4804. I'm not sure if these are error or the interpreted version has weaker guarantees about memory management.

The other chunk of error is about the lack of warnings with format with the wrong number of arguments 6.ms#L1044-L1071 that is something that the compiler check but the interpreter not. This can probably be solved with an if or something.

Anyway, perhaps it's better to just disable the test of the interpreted version and claim victory.


About the bootfiles, I'm not sure if this is the official or the best method to build them. (I also disable the osx builds for the test.) Perhaps @samth can take a look at the tricks to build this in travis-ci.

Each build+test take 6 minutes more than the usual test in Chez Scheme. It would be nice in the future to put the compatibility layer in a separate package (no a separate repository) so the build on top of an existing racket-classic is easier.

samth commented 5 years ago

This looks sensible to me but I'm not exactly sure what you're asking.

gus-massa commented 5 years ago

@samth Nothing in particular. But in other occasions you helped when it was necessary to update some of the packages without updating all the packages, and other tricks like that. Thanks for taking a look.

mflatt commented 5 years ago

Putting the Chez Scheme bootstrap into a Racket package is a good idea. I'll do that.

You should merge the two fixes, and then I'll catch up with the state of tests. I think it's probably time to clean up and make the tests work as intended, even if that complicates further merging.

gus-massa commented 5 years ago

I've merged the fixes. It's very strange that cptypes didn't decide to break the code that uses get-initial-thread.

I'd left the other two commits here in case they are useful for comparison in the future.

mflatt commented 5 years ago

There's now a "cs-bootstrap" package, so you can install it and run racket -l cs-bootstrap in a Chez Scheme checkout.

mflatt commented 5 years ago

I'll push updates to the compute-size-increments and object-backreferences tests to accommodate/avoid the interpreter. For the format errors, I'll stick with the main fork's strategy of just including those failures in the expected-error diffs.