Commit Graph

1829 Commits

Author SHA1 Message Date
Stevie Strickland
fcee6788d7 Parsing and first order checks for internal field access contracts.
svn: r18203
2010-02-20 04:02:59 +00:00
Stevie Strickland
d87794a8d2 External field contracts FTW!
svn: r18202
2010-02-20 03:52:47 +00:00
Stevie Strickland
95438db40f Add set-field!. Because it's useful, because we have get-field, so why
not it, and because it's an easy way to later test external field contracts.

svn: r18199
2010-02-19 23:55:39 +00:00
Stevie Strickland
e9264b1fac Syncing up before class.
svn merge ^/trunk

svn: r18188
2010-02-19 16:43:03 +00:00
Robby Findler
47b5892c92 probable fix to problems with this file (make sure find-relative-path's first argument is a directory)
svn: r18187
2010-02-19 15:29:54 +00:00
Stevie Strickland
55d39b0035 It was a good thing I decided to add some super/inner mixed examples here,
because it pointed out a bug in my implementation where we weren't getting
the right version of the super method (which gets the projection).

svn: r18180
2010-02-19 04:40:10 +00:00
Stevie Strickland
5cc68fdd0f In some ways, I'm still trying to decide exactly what some of these forms mean.
For example, if we're in the java part of a beta-java chain, can we still add
an inner contract?  If so, it should affect each java-style overriding method
until we reach the next beta-style augmenting method.

It can just be confusing, because one might thing that inner in a
contract => needs an augmenting method in the subclass, super => needs
an overriding method in the subclass.  The latter is true, since only
the next immediate method can reach the super class's implementation,
but inner jumps to the next augmenting method, so the former isn't
necessarily true.

svn: r18179
2010-02-19 04:27:44 +00:00
Stevie Strickland
b59955bc01 Ah, that'd be the issue. THE TESTS WERE WRONG. All's well, and I've even
added a couple more tests to make sure we apply the projections in the right
order.

svn: r18176
2010-02-19 00:34:27 +00:00
Stevie Strickland
7fe863e792 Inner tests! They almost all fail! BUT WE SHALL CHANGE THAT.
svn: r18175
2010-02-19 00:09:47 +00:00
Stevie Strickland
6fcb61cc11 Add some test cases for super.
svn: r18172
2010-02-18 23:34:35 +00:00
Stevie Strickland
f8d5234148 Simplify the test case. Also, spam both my and Sam's inboxes.
svn: r18171
2010-02-18 23:24:15 +00:00
Stevie Strickland
38522f0dca A tricky case, this.
svn: r18170
2010-02-18 23:22:51 +00:00
Stevie Strickland
cc52bcd197 Start throwing in higher-order checks.
svn: r18168
2010-02-18 23:09:42 +00:00
Stevie Strickland
8d9eda1459 I think that finishes all the first order tests.
svn: r18167
2010-02-18 22:53:35 +00:00
Stevie Strickland
b15dd9e689 You'll gasp, you'll cheer, you'll scream! MORE TESTS.
svn: r18165
2010-02-18 22:44:58 +00:00
Stevie Strickland
ce04db35a0 Rename tests to be more specific, start inner tests, fix introduced bug.
svn: r18164
2010-02-18 22:27:34 +00:00
Stevie Strickland
690b82da14 Check lots of crazy special cases for super contracts.
svn: r18163
2010-02-18 22:16:29 +00:00
Stevie Strickland
7abafad8b1 Tests of super contracts. Failing test here, because we're not checking for
non-final public methods when adding super (or later, override) contracts.
We should check for that in both cases, as the contract suggests that the
method in question is overrideable.

svn: r18160
2010-02-18 21:54:27 +00:00
Stevie Strickland
0971d37b70 Add first order checks for public fields and methods for both class/c
and object/c.

svn: r18159
2010-02-18 21:50:55 +00:00
Stevie Strickland
6e462ecb38 Forgot to quote the test expressions, which showed up once I added a
testcase for a blame error.

svn: r18158
2010-02-18 21:42:20 +00:00
Stevie Strickland
eeb2b52731 Start the MASSIVE TESTSUITE.
svn: r18157
2010-02-18 21:37:55 +00:00
Jay McCarthy
fb73b168d1 Adding testing for zo parser/marshaller/decompiler
svn: r18155
2010-02-18 21:07:05 +00:00
Robby Findler
8424dea37b avoid doing mac os x-specific tests unless under mac os x
svn: r18154
2010-02-18 20:36:03 +00:00
Kevin Tew
202c056c53 tests file.ss use random port
svn: r18151
2010-02-18 18:54:53 +00:00
Jay McCarthy
25dbc6a418 Test cleanup
svn: r18150
2010-02-18 16:14:41 +00:00
Robby Findler
b51f3e0940 more debugging information printed
svn: r18148
2010-02-18 13:54:39 +00:00
Robby Findler
66e329c21b updated pconvert to use the new arguments to make-hash and friends
svn: r18128
2010-02-17 21:20:39 +00:00
Robby Findler
5763cc0104 added some debugging printouts to try to find out how to make this work in drdr
svn: r18123
2010-02-17 20:38:07 +00:00
Matthew Flatt
91d725fbb9 add optional initialization argument to make-hash (and variants)
svn: r18120
2010-02-17 17:44:29 +00:00
Jay McCarthy
9a468dd9d0 Fixing error message re Robby and rearranging tests a little
svn: r18117
2010-02-17 16:04:13 +00:00
Robby Findler
445ec5c145 refactored the mutator test case generator to make testing more tractable and added some tests (and fixed a bug)
svn: r18113
2010-02-17 15:37:27 +00:00
Robby Findler
6565005468 checking this in to be able to show it to Jay
svn: r18111
2010-02-17 15:14:49 +00:00
Stevie Strickland
35afebaea3 Change object-contract to use find-method/who (already exported for Typed
Scheme) to look for the appropriate method to wrap, which makes Robby's
object-contracts appropriately translucent during contract wrapping.

svn: r18102
2010-02-16 19:58:07 +00:00
Jay McCarthy
520b4feedc Adding PLAI software to the core
svn: r18101
2010-02-16 18:56:44 +00:00
Robby Findler
b73613460b added a test that saves and reopens a file in the teaching languages
svn: r18088
2010-02-15 18:39:15 +00:00
Sam Tobin-Hochstadt
90c8fcff11 Generate proper contracts for polymorphic struct types.
Document `Nothing'.

svn: r18074
2010-02-12 21:57:58 +00:00
Matthew Flatt
38a0f6d89a fix the actual result value for unboxed flmin and flmax
svn: r18045
2010-02-11 04:00:18 +00:00
Sam Tobin-Hochstadt
8bf908d106 More restrictive handling of contracts for the `Any' type.
svn: r18043
2010-02-10 20:45:50 +00:00
Robby Findler
8f5d2e1864 apparently the 1 pixel circle under linux draws in exactly one pixel when not in smoothed mode, which broke a test case; so that's changed now
svn: r18037
2010-02-10 17:40:21 +00:00
Robby Findler
4e92d54b28 possible fix to module lang test suite
svn: r18020
2010-02-08 19:44:01 +00:00
Sam Tobin-Hochstadt
55a48ca594 Fix a number of bugs reported by eli
svn: r18017
2010-02-08 18:17:15 +00:00
Robby Findler
49702f8f59 moved temp files into the temp directory
svn: r18015
2010-02-08 17:40:46 +00:00
Carl Eastlund
fe40d3e888 Merged changes from trunk.
svn: r18007
2010-02-06 19:23:24 +00:00
Robby Findler
75a60162b0 another attempt to get the drscheme gui test suite in shape to be run by drdr
svn: r18004
2010-02-06 17:13:49 +00:00
Eli Barzilay
3a08648dab Added a `running' state, which is visible only from inside the
generator.  (Also considered making it an error when the generator is
called while it is running, but that doesn't allow (yield (yield X))
fun.)

svn: r17982
2010-02-05 03:22:09 +00:00
Eli Barzilay
f1dcf49d38 Added `generator-state', implemented using a local state (which also
simplifies the code that raises an error from the last change).

svn: r17980
2010-02-05 03:22:04 +00:00
Eli Barzilay
505034ea26 The generator function can now be used to send values to the generator.
For example,

  (define g (generator (yield (yield (yield 1)))))
  (list (g) (g 2) (g 3) (g 4) (g) (g))

evaluates to '(1 2 3 4 4 4).  This is something that Python does (as a
generator.send method), which might be useful for using generators as
co-routines, and it is actually easy to implement since sending values
is exactly what we get when the generator call is actually calling the
saved continuation.  So most of the change is dealing with the
technicalities of throwing an error when the generator is called with
some arguments, when that's done after it's terminated (at the stage
where it's repeating the last value for ever).

A few tests added for this.

svn: r17979
2010-02-05 03:22:01 +00:00
Eli Barzilay
c88a5a6856 A bunch of additional typos
svn: r17976
2010-02-05 03:21:52 +00:00
Carl Eastlund
2e3ea3d0de Merged latest changes from the trunk.
svn: r17974
2010-02-05 02:41:24 +00:00
Matthew Flatt
3812f8ca72 improve inling to support ((let (....) (lambda ....)) arg ...) patterns; allow nested 'let's for local flonum binding (which fixes a problem where unsafe flonum operations could end up much slower than safe ones)
svn: r17972
2010-02-05 00:16:06 +00:00