about summary refs log tree commit diff
path: root/src/test/compiletest
AgeCommit message (Collapse)AuthorLines
2011-08-15Syntax updates.Eric Holk-4/+4
2011-08-15Removed spawn and task from the parser. Updated all the tests except for the ↵Eric Holk-57/+69
benchmarks.
2011-08-12Remove std::vecBrian Anderson-2/+0
2011-08-12Remove vecs from std::getoptsBrian Anderson-2/+2
2011-08-12Convert std::run to ivecsBrian Anderson-1/+1
2011-08-12Rename std::ioivec to std::ioBrian Anderson-23/+23
2011-08-12Convert all uses of std::io to std::ioivecBrian Anderson-20/+21
2011-08-12Rename str::connect_ivec to str::connectBrian Anderson-2/+2
2011-08-12Rename str::split_ivec to str::splitBrian Anderson-3/+3
2011-08-12Convert uses of str::split to split_ivecBrian Anderson-4/+4
2011-08-12Rename std::str::unsafe_from_bytes_ivec to unsafe_from_bytesBrian Anderson-1/+1
2011-08-12Convert all uses of unsafe_from_bytes to unsafe_from_bytes_ivecBrian Anderson-2/+2
2011-08-12Remove vecs from compiletestBrian Anderson-17/+17
2011-08-10Begin valgrinding run-fail testsBrian Anderson-11/+35
Introduce a temporary no-valgrind directive for the few that aren't clean
2011-08-09Change the ivec type syntax to [T].Erick Tryzelaar-5/+5
This preserves the old syntax for now.
2011-08-03Whitespace cleanupBrian Anderson-1/+1
2011-08-03Convert line endings when doing exact pretty-print testingBrian Anderson-0/+8
For the benefit of windows
2011-08-02Use ioivec::read_whole_file_str in a few placesBrian Anderson-4/+3
2011-08-02Typecheck pretty-printing test results as libraries. Issue #789Brian Anderson-1/+1
After running source files through the pretty printer, we sanity check them by running the results through the compiler with the --no-trans flag. Now also use the --lib flag so that pretty-printer tests don't have to include a main function.
2011-08-02Add dedicated pretty-printer tests with new pp-exact directiveBrian Anderson-6/+54
Add a new src/test/pretty directory to hold just source files for testing the pretty-printer. Add a new pp-exact directive. When this directive is followed by a file name it specifies a file containing the output that the pretty-printer should generate. When pp-exact is not followed by a filename it says that the file should pretty-print as written.
2011-08-02Add xfail-pretty test directive. Issue #789Brian Anderson-3/+9
Indicates that this test should not be used to test the pretty-printer
2011-08-02Run pretty-printed sources through the compiler again for sanityBrian Anderson-4/+10
Just go as far as typechecking for speed sake. Issue #789
2011-08-02Implement test that pretty-printed code converges. Issue #789Brian Anderson-10/+101
2011-08-02Remove unused procsrv::clone function from compiletestBrian Anderson-7/+0
2011-08-02Fix comment typo in compiletestBrian Anderson-1/+1
2011-08-02Pretty-print tests only run on .rs files. Issue #789Brian Anderson-5/+22
The pretty-printer can't handle .rc files currently
2011-08-02Introduce pretty-print testing mode to compiletest. Issue #789Brian Anderson-2/+19
2011-08-02Replace an open-coded conversion with ivec::from_vecBrian Anderson-6/+1
2011-08-02Move compiletest modules into separate filesBrian Anderson-587/+617
2011-08-01Ignore whitespace in argument lists in compiletestBrian Anderson-1/+20
Makes testing work with DEBUG=1
2011-07-29Fix long linesBrian Anderson-3/+3
2011-07-29Add issue numbers to FIXMEs in compiletestBrian Anderson-2/+2
2011-07-29Close pipes under failure scenario in compiletestBrian Anderson-1/+5
2011-07-29Get compile tests to run in parallelBrian Anderson-31/+86
Takes a lot of workarounds. The biggest problem is that boxes still don't seem to be moved across channels and bad things happen when the receiver destroys them. So there's all sorts of defensive cloning and scoping going on here to make the box lifetimes come out right.
2011-07-29Replace obj dtors with resources in stdlib and rustcMarijn Haverbeke-1/+1
2011-07-27Don't stop at first test failureBrian Anderson-1/+1
Since compiletest is setting up its own test tasks it needs to configure them the correct way, which means allowing them to leak.
2011-07-27Clean up output a bit when running verbose compile testsBrian Anderson-3/+7
2011-07-27Capture stderr when running compile tests. Closes #755Brian Anderson-42/+74
2011-07-27Refactor compiletestBrian Anderson-219/+248
2011-07-27Remove task::worker harderBrian Anderson-4/+4
2011-07-27Remove task::workerBrian Anderson-2/+10
It was too unsafe to live. It already apeared to be causing problems with eholk's incoming task changes, so I'm killing it now before it can spread.
2011-07-27Fix comment placement in compiletestBrian Anderson-26/+29
2011-07-27Reformat for new syntaxMarijn Haverbeke-396/+306
2011-07-26Run compile tests in a way that's safe in a multithreaded environmentBrian Anderson-60/+138
In theory. There's still something leaking but I hope it's no longer due to the test runner doing unsafe things. This is a pretty nasty patch, working around limitations in the type and task systems, and it makes the std::test API a little uglier.
2011-07-26Dump all subprocess output to stdout when running verbose compiler testsBrian Anderson-0/+10
2011-07-26Clone all data before before putting it in a test closureBrian Anderson-3/+33
Putting shared boxes into a closure then running that closure in parallel tasks seems like a recipe for refcounting disaster. This doesn't completely fix the problems when running in parallel, but I'm working on it.
2011-07-26Join the process server after running all compile testsBrian Anderson-5/+12
2011-07-26Run test process from a dedicated taskBrian Anderson-58/+146
This avoids a race wherein test tasks could run processes that stole the environment of other tasks's processes.
2011-07-25Ignore various files that are probably not tests when searching for testsBrian Anderson-1/+5
Closes #732
2011-07-24The Big Test Suite OverhaulBrian Anderson-0/+540
This replaces the make-based test runner with a set of Rust-based test runners. I believe that all existing functionality has been preserved. The primary objective is to dogfood the Rust test framework. A few main things happen here: 1) The run-pass/lib-* tests are all moved into src/test/stdtest. This is a standalone test crate intended for all standard library tests. It compiles to build/test/stdtest.stageN. 2) rustc now compiles into yet another build artifact, this one a test runner that runs any tests contained directly in the rustc crate. This allows much more fine-grained unit testing of the compiler. It compiles to build/test/rustctest.stageN. 3) There is a new custom test runner crate at src/test/compiletest that reproduces all the functionality for running the compile-fail, run-fail, run-pass and bench tests while integrating with Rust's test framework. It compiles to build/test/compiletest.stageN. 4) The build rules have been completely changed to use the new test runners, while also being less redundant, following the example of the recent stageN.mk rewrite. It adds two new features to the cfail/rfail/rpass/bench tests: 1) Tests can specify multiple 'error-pattern' directives which must be satisfied in order. 2) Tests can specify a 'compile-flags' directive which will make the test runner provide additional command line arguments to rustc. There are some downsides, the primary being that Rust has to be functioning pretty well just to run _any_ tests, which I imagine will be the source of some frustration when the entire test suite breaks. Will also cause some headaches during porting. Not having individual make rules, each rpass, etc test no longer remembers between runs whether it completed successfully. As a result, it's not possible to incrementally fix multiple tests by just running 'make check', fixing a test, and repeating without re-running all the tests contained in the test runner. Instead you can filter just the tests you want to run by using the TESTNAME environment variable. This also dispenses with the ability to run stage0 tests, but they tended to be broken more often than not anyway.