Simplified code, and additional testing for redundant properties, and
for properties that can be collapsed into a parent directory (this might
be dropped or used only for notification on differences, see
commentage).
Also, make drdr test itself reflectively.
The code is improved, and also the default changes for *.rkt files:
there is no need for any flags -- "-q" is redundant, and with no flags
it's doing "-u" which is the same as "-t" (with an added "-N").
This was broken in the class100 port. The init arguments
previously handled by the class100*/kw macro need to be
explicitly passed down.
Also, an (init-rest) is needed at the leaves of the class
hierarchy to ensure that internal super init args don't
leak via error messages. (the class100 macro always
inserts these)
Added a test file so similar breakage is detectable in the
future.
1. Lots of #lang-ization, other racketizations, code improvements, etc.
2. Some files that were not working now do.
3. "collects/tests/aligned-pasteboard" had some files that were near
duplicates of "collects/mrlib/private/aligned-pasteboard/tests".
I've removed the former since in a few places it looked like an older
version (eg, there were bogus references to a non-existent
"utils.rkt"). The former has more files that are in runnable
condition now.
4. There are plenty of tests that look like they're failing, but it
wasn't shown since they just return #f, and when they were running
with a "-f" these results weren't displayed.
5. I have no idea about the code, this is all just reshuffling and minor
editing.
There were many such properties that were leftover from before the big
GUI rewrite where the gracket executable was needed, and now there is no
longer any need for these things. There are two exceptions:
* There is a drdr feature that forces all tests that use gracket to run
sequentially, which is used for tests that rely on some actual state
of shown windows. I ran all of the files and monitored for windows
popping up, and left the test to use gracket in these cases.
* There are a few cases where running "racket -f <file>" resulted in an
unbound identifier, whereas "gracket -f <file>" does not. These are
because of the different global namespace, and I will fix them (props
and the files) in a different commit.
One of the expected results of this is that a drdr might run faster,
because the serial-running hack above should now be applied only where
relevant. (And some of the drracket tests are very long.)
This commit is pushed by itself to identify possible problems with a
drdr run that tests only this change.
Check that the entries are sorted, and check that there's a
`responsible' for all files on disk, except for known exceptions. It
might be better to use "git ls-tree HEAD <path>" instead of looking at
the filesystem, but then it won't work on drdr.
For example, a syntactic form box is labeled with "SYNTAX". Forms
such as `defform' and `defthing' now support a `#:kind' option
for setting the label.
Added alises for call-with-continuation-prompt,
abort-current-continuation, and call-with-composable-continuation.
Also allow % and fcontrol to take an optional prompt tag argument.
Revise the subword matching to have three different levels for full
match (= a permutation of the input), a generic match for all parts, and
everything else.
Instead of just one array for exact results and one for all the rest,
use one array for each possible comparison result, and concatenate them
all for the final list.