Commit Graph

74 Commits

Author SHA1 Message Date
Fredrik Jambrén ba85ca32c4 Check if changed exercise file exists before calling verify. 2019-07-11 23:54:18 +02:00
Dan Wilhelm f72e0ca979 chore: Remove missed highlighting char from Issue #133 2019-06-10 20:24:18 -07:00
liv 62696f5819 Remove highlighting and syntect 2019-06-05 12:18:50 +02:00
Eddy Petrisor ca6bf966dd Cargo fmt the rustlings application code
Signed-off-by: Eddy Petrisor <eddy.petrisor@gmail.com>
2019-05-22 14:50:23 +03:00
liv 35c3d0b3fc Revert --nocapture flag
This closes #149 and #152
2019-05-07 12:31:02 +02:00
liv 7eddee6f7a add a slightly more helpful error message 2019-04-22 18:43:39 +08:00
liv f2c48cfac5 fix the --nocapture functionality 2019-04-22 18:42:32 +08:00
liv bfcf38c8bc
damn it 2019-04-22 07:05:46 +02:00
liv 9e328da641
use -- --nocapture when testing 2019-04-22 05:49:23 +02:00
Chris Pearce 77de6e5d6a Clean up test includes for File and Path 2019-04-12 23:14:15 +01:00
Chris Pearce 8c867a001a Remove unwrap on canonicalize result 2019-04-12 22:24:13 +01:00
Chris Pearce d01a71f7de Extract exercise struct to encapsulate path logic 2019-04-12 08:58:25 +01:00
bors ffb165ce26 Auto merge of #140 - cjpearce:fix/test-race-condition, r=komaeda
Fix intermittent test failure caused by race condition

First public pull request 😬

There's an intermittent integration test failure when you use multiple test threads (at least for me on a mac). I narrowed it down to two tests each spawning a process using `Command` which then try to compile the same file at the same time. If the timing doesn't work out, they both try to compile, and then one process runs `clean` before the other can run the executable - causing a panic.

![Screenshot 2019-04-07 at 19 54 55](https://user-images.githubusercontent.com/3453268/55688324-20520980-596f-11e9-8474-5215d61a4387.png)

You can prevent it from happening by running with a single thread (`cargo test -- --test-threads=1`), because the `Command` blocks. That's not a particularly good solution though because it's not something you can configure in `Cargo.toml`.

I considered making the affected tests just run serially, but it occurred to me that this could also happen if someone accidentally runs rustlings in watch mode in two terminals without realising it. I wound't consider this that unlikely given it's a tool for learning.

I fixed it by ensuring that the executables made from separate processes don't conflict by appending a process id to the output executable name. I also extracted the commands into a single file next to `clean` so that we don't have to repeat the generated file name everywhere and risk missing something.
2019-04-07 22:37:34 +00:00
Chris Pearce 0c7bd12372 Fix test failing due to panic 2019-04-07 20:13:04 +01:00
Chris Pearce 592ae6b4d2 Add process id to temp file name 2019-04-07 17:28:51 +01:00
Chris Pearce 4fa79ee02f Extract command builders into util 2019-04-07 17:26:01 +01:00
liv 022921168d fix watch command path execution 2019-03-27 10:58:56 +01:00
lyn f43cb124f6 add tests 2019-03-20 21:05:45 +01:00
Kyle Isom 9fc4a83987 Be nicer when rustlings isn't run from the right directory.
Before, rustlings would panic if it wasn't in the right directory. It
took me a minute to figure out why, and this wasn't my first intro to
Rust. It would probably help new users if they saw a helpful message
instead of a stack trace.
2019-03-17 11:43:47 -07:00
Andrew Bagshaw 3b5dfac44e Remove unnessecary whitespace 2019-03-15 16:01:45 -07:00
Andrew Bagshaw a6a8b61b12
Change to \n 2019-03-15 12:47:06 -07:00
Andrew Bagshaw 6cd42bb821 Add clear break between verify executions 2019-03-13 14:08:28 -07:00
Andrew Bagshaw 4d7ce6e571 deduplicate 2019-03-13 13:53:24 -07:00
Andrew Bagshaw 3f114cc069 Start verification at most recently modified file 2019-03-13 13:50:54 -07:00
lyn abf175111d clippy-ify 2019-03-11 15:09:20 +01:00
lyn 70e59cca3c standardize exercise running via an external toml file 2019-03-06 21:47:33 +01:00
Shaun Bennett 04d0f78a2c Fix file watching for vim swap files 2019-03-06 18:38:55 +00:00
Hirokazu Hata 5cd5be8847 Add thread exercises to verify entrypoint 2019-02-17 14:03:52 +09:00
liv 02ceb0ba8c fix test command execution
seems like i forgot that you actually need to run executables created
with `rustc --test`! this also reworks the "test1" exercise a bit

closes #108
2019-02-15 12:06:05 +01:00
liv 320119ce96 add "--color always" to the other rustc commands 2019-01-25 15:11:23 +01:00
liv 8cff8de493 add more detailed command help 2019-01-23 21:43:32 +01:00
liv dc1f3b79f8 add tests; refactor exercise links 2019-01-23 20:48:01 +01:00
liv 141db7795b add --test run flag 2019-01-09 22:04:08 +01:00
liv 17e12433cb add a test 2019-01-09 21:47:50 +01:00
liv b90f642029 remove the ex*.rs files 2019-01-09 21:26:12 +01:00
liv 7fa2f87c8b make the default output a bit nicer 2019-01-09 20:44:55 +01:00
liv e03a98cbf6 rustfmt 2019-01-09 20:33:58 +01:00
liv a388bb3798 split codebase 2019-01-09 20:33:43 +01:00
liv 679508b278 ah well it was worth a try 2019-01-09 20:09:49 +01:00
liv ad26a6d0e6 revert 2019-01-09 20:08:48 +01:00
liv a0d21020df update for rust 2018 2019-01-09 20:07:19 +01:00
Erik Vesteraas 9d16d6b63d Add watch mode, and don't panic on clean failure 2018-11-26 12:45:29 +01:00
olivia a4b4350b70 switch theme to base16 eighties 2018-11-26 11:29:39 +01:00
olivia hugger a15b276d96
Merge pull request #98 from evestera/rustc-color-always
Propagate colored output from rustc
2018-11-26 11:11:35 +01:00
olivia 1d495ff7b9 add markdown output for default command 2018-11-26 11:10:38 +01:00
Erik Vesteraas f18590f0a1 Add color=always to rustc options 2018-11-26 10:54:08 +01:00
olivia e0ee5f1d7f implement run command 2018-11-23 15:18:43 +01:00
olivia 6baac88574 fmt 2018-11-14 20:12:20 +01:00
olivia b8789f09e0 add empty line after ascii 2018-11-14 20:08:38 +01:00
olivia 6cc16edff0 add a fancy ascii header 2018-11-14 20:04:48 +01:00