about summary refs log tree commit diff
path: root/src/test/stdtest/run.rs
AgeCommit message (Collapse)AuthorLines
2012-01-17libstd: Move std tests into libstdBrian Anderson-70/+0
2012-01-11Major clean-up of std::ioMarijn Haverbeke-2/+3
Use ifaces instead of objs, stop wrapping everything in two (or three) layers of no-value-added indirection, and remove some of the more pointless/outdated idioms from the code.
2011-12-22Register new snapshots, purge log_err and log_full in favour of log(...).Graydon Hoare-2/+2
2011-12-22Merge all 3 log syntaxes, tidy up residual misuses.Graydon Hoare-1/+1
2011-12-22Register snapshots and switch logging over to use of log_full or #error / ↵Graydon Hoare-2/+2
#debug.
2011-12-13Copy first batch of material from libstd to libcore.Graydon Hoare-3/+5
2011-11-16refactor all unix typesNiko Matsakis-6/+8
2011-11-10Cleanup unused imports in testsHaitao Li-1/+0
2011-11-08Remove all uses of native cdecl except for those that yieldBrian Anderson-5/+5
2011-10-29Cleanup the existing platform-specific ignored testsBrian Anderson-9/+1
2011-10-12continue to annotate functions as unsafe where neccessaryNiko Matsakis-4/+4
2011-09-12Merge branch 'unwind'Brian Anderson-0/+7
Conflicts: src/comp/middle/trans.rs src/comp/middle/trans_build.rs src/lib/run_program.rs src/test/compiletest/runtest.rs
2011-09-12Reformat for new mode syntax, step 1Marijn Haverbeke-1/+1
Long lines were fixed in a very crude way, as I'll be following up with another reformat in a bit.
2011-09-11Add a waitpid wrapper to std::run that interprets the exit status on unixBrian Anderson-0/+7
This makes the result of running a program a little more uniform between unix and windows
2011-09-02Reformat. Issue #855Brian Anderson-9/+8
2011-09-01Rename std::istr to std::str. Issue #855Brian Anderson-2/+2
2011-08-27Convert std::io to istrs. Issue #855Brian Anderson-6/+6
2011-08-27Convert std::run to istrs. Issue #855Brian Anderson-4/+5
2011-08-20ReformatBrian Anderson-11/+9
This changes the indexing syntax from .() to [], the vector syntax from ~[] to [] and the extension syntax from #fmt() to #fmt[]
2011-08-16Rename std::ivec to std::vecBrian Anderson-1/+1
2011-08-12Convert std::run to ivecsBrian Anderson-4/+4
2011-08-12Rename std::ioivec to std::ioBrian Anderson-5/+5
2011-08-12Convert all uses of std::io to std::ioivecBrian Anderson-5/+6
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/+3
2011-08-03Whitespace cleanupBrian Anderson-4/+4
2011-08-03Add some hacks to get stdin piping working more correctly in windowsBrian Anderson-1/+50
The way pipes work in windows is not the same as unix, though I'm not entirely clear on the differences. This patch changes the windows pipe method to return non-inheritable fds, and the windows rust_run_program method to duplicate them before spawning the new process. This allows make-check-pretty to work on windows.
2011-07-27Reformat for new syntaxMarijn Haverbeke-4/+4
2011-07-24The Big Test Suite OverhaulBrian Anderson-0/+18
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.