about summary refs log tree commit diff
path: root/src/test
AgeCommit message (Collapse)AuthorLines
2011-05-06Remove a few more superfluous 'mutable' keywordsMarijn Haverbeke-4/+4
2011-05-06Rename std modules to be camelcasedMarijn Haverbeke-478/+478
(Have fun mergining your stuff with this.)
2011-05-05Add quick sort function to the std lib.Kelly Wilson-0/+62
2011-05-05Enforce in typechecker that preds return a boolTim Chevalier-1/+3
as well as a test case
2011-05-05Test cases for pred / check stuffTim Chevalier-3/+57
2011-05-05Check well-formedness of constraintsTim Chevalier-0/+26
Check that the operand in a constraint is an explicit name, and that the operands are all local variables or literals. Still need to check that the name refers to a pure function.
2011-05-05Change checks to asserts in test/bench filesTim Chevalier-6/+6
2011-05-05Check that the operand in a check is a callTim Chevalier-0/+9
In addition, fix bug in fold that was turning asserts into checks. More typechecking still needs to be done.
2011-05-05Un-XFAILed not-a-pred in stage0 (it fails correctly)Tim Chevalier-3/+0
2011-05-05Remove 'deprecated mutable...' from our codeMarijn Haverbeke-5/+5
This should make compilation a bit less noisy.
2011-05-05Return a fresh, unreachable context after ret, break, and contMarijn Haverbeke-4/+0
This ensures we don't get compile errors on unreachable code (see test/run-pass/artificial-block.rs for an example of sane code that wasn't compiling). In the future, we might want to warn about non-trivial code appearing in an unreachable context, and/or avoid generating unreachable code altogether (though I'm sure LLVM will weed it out as well).
2011-05-04Add missing ret statements to check_modBrian Anderson-12/+0
Un-XFAIL compile-fail export tests
2011-05-04More export XFAILs.Graydon Hoare-0/+6
2011-05-04XFAIL some compile-fail tests mysteriously failing on win32 tinderbox.Graydon Hoare-0/+12
2011-05-04extend xfail-stage0 to stage1, stage2 on obj-dtor-2.rsGraydon Hoare-1/+3
2011-05-04Change two compile-fail patterns to match rustc output.Graydon Hoare-2/+2
2011-05-03Assume xfail-stage0 implies stage1 and stage2 in tests, for now.Graydon Hoare-0/+198
2011-05-03Revert "Rename the "llvm" API to "llvm-intrinsic"" due to tinderbox bustagePatrick Walton-1/+1
This reverts commit 6871c245a67fab222eccc2a21dcb620d11d3b0d0.
2011-05-03Rename the "llvm" API to "llvm-intrinsic"Patrick Walton-1/+1
2011-05-02Add some tests of tag-export interactionBrian Anderson-0/+48
2011-05-02Revert "Use check instead of assert in export-unexported-dep"Brian Anderson-1/+1
This reverts commit 480eda0f10fabd6e76a30c91df1d84740d6f81cc. The commit adding the assert keyword has been restored.
2011-05-02rustc: Remove the artificial block in ty.rs. Fixes self-hosting. Add a test ↵Patrick Walton-0/+12
case for this, XFAIL'd.
2011-05-02Un-revert "Use different syntax for checks that matter to typestate", fixing ↵Patrick Walton-696/+696
the problem. This reverts commit d08b443fffb1181d8d45ae5d061412f202dd4118.
2011-05-02Use check instead of assert in export-unexported-depBrian Anderson-1/+1
2011-05-02Revert "Use different syntax for checks that matter to typestate"Graydon Hoare-696/+696
This reverts commit aa25f22f197682de3b18fc4c8ba068d1feda220f. It broke stage2, not sure why yet.
2011-05-02Add a regression test that exports can expose unexported itemsBrian Anderson-0/+24
While those unexported items can't be used by name outside the module in which they are defined, they can be used as a sort of ADT.
2011-05-02Use different syntax for checks that matter to typestateTim Chevalier-696/+696
This giant commit changes the syntax of Rust to use "assert" for "check" expressions that didn't mean anything to the typestate system, and continue using "check" for checks that are used as part of typestate checking. Most of the changes are just replacing "check" with "assert" in test cases and rustc.
2011-05-01Add a test that imports can't circumvent exportsBrian Anderson-0/+19
2011-05-01Add a regression test for use of unexported fully-qualified pathsBrian Anderson-0/+21
An unexported foo.baz can't be resolved from inside foo when called as foo.baz instead of just baz. This behavior may want to change eventually.
2011-05-01Hide unexported tag variantsBrian Anderson-0/+17
2011-05-01Implement simple module exportBrian Anderson-2/+83
2011-05-01Fix expr-alt-generic-box2.rs and un-XFAILBrian Anderson-2/+1
2011-05-01Un-XFAIL various tests in stage0Brian Anderson-8/+0
2011-04-29Re-XFAIL lib-io.rs, not quite working yet.Graydon Hoare-0/+1
2011-04-29Un-XFAIL most library tests.Graydon Hoare-18/+0
2011-04-28rustc: Fix vec append glue for strings. Add a test case.Patrick Walton-0/+14
2011-04-28rustc: Add some value names to the vec append glue function. Un-XFAIL ↵Patrick Walton-2/+0
vec-growth.rs.
2011-04-28test: Add a test case for vec growthPatrick Walton-0/+15
2011-04-28Consider unop deref as an lval. Un-XFAIL vec-push.Graydon Hoare-3/+1
2011-04-28rustc: Add a testcase for vector push (mutable aliases with *, really)Patrick Walton-0/+11
2011-04-28Change vec-ref-count to handle 1 or 2, so long as non-leaky and ↵Graydon Hoare-4/+5
non-creeping. un-XFAIL.
2011-04-28test: Add a test for vector reference counts, XFAIL'd in rustcPatrick Walton-0/+11
2011-04-28Enable typestate_checkTim Chevalier-11/+0
Enable typestate checking (just for uninitialized vars) and un-XFAIL the relevant tests for stage0.
2011-04-28Fix some nested patterns in rustcTim Chevalier-0/+29
In rustc, nested patterns were potentially matching when they shouldn't match, because a loop index wasn't being incremented. Fixed it and added one test case.
2011-04-28Fix bug in handling of expr_alt (postcond for alts was being intersected ↵Tim Chevalier-0/+34
with postcond for scrutinee)
2011-04-28Support all expression forms in typestateTim Chevalier-0/+44
Added support for self_method, cont, chan, port, recv, send, be, do_while, spawn, and ext; handled break and cont correctly. (However, there are no non-xfailed test cases for ext or spawn in stage0 currently.) Although the standard library compiles and all test cases pass with typestate enabled, I left typestate checking disabled as rustc terminates abnormally when building the standard library if so, even though it does generate code correctly.
2011-04-28Further work on typestate_checkTim Chevalier-0/+42
Lots of work on typestate_check, seems to get a lot of the way through checking the standard library. * Added for, for_each, assign_op, bind, cast, put, check, break, and cont. (I'm not sure break and cont are actually handled correctly.) * Fixed side-effect bug in seq_preconds so that unioning the preconditions of a sequence of statements or expressions is handled correctly. * Pass poststate correctly through a stmt_decl. * Handle expr_ret and expr_fail properly (after execution of a ret or fail, everything is true -- this is needed to handle ifs and alts where one branch is a ret or fail) * Fixed bug in set_prestate_ann where a thing that needed to be mutated wasn't getting passed as an alias * Fixed bug in how expr_alt was treated (zero is not the identity for intersect, who knew, right?) * Update logging to reflect log_err vs. log * Fixed find_locals so as to return all local decls and exclude function arguments. * Make union_postconds work on an empty vector (needed to handle empty blocks correctly) * Added _vec.cat_options, which takes a list of option[T] to a list of T, ignoring any Nones * Added two test cases.
2011-04-26Fix the interaction between various flags in #fmtBrian Anderson-2/+17
2011-04-26Support octal #fmt conversionsBrian Anderson-0/+11
2011-04-26Make #fmt char conversions behave like printfBrian Anderson-2/+5