jwilm / racerd

Rust semantic analysis server powered by Racer
http://jwilm.github.io/racerd/libracerd/
Apache License 2.0
134 stars 24 forks source link

Update to racer v1.2.10. #51

Closed rillian closed 8 years ago

rillian commented 8 years ago

Current upstream release.

rillian commented 8 years ago

Can at least update to the current published version of racer, per #50.

Or so I hope, I haven't been able to run the tests locally.

rillian commented 8 years ago

Nope, test failures on both travis and appveyor

GET http://127.0.0.1:0/ping -> 403 Forbidden (8.432155 ms)
ERROR:iron::iron: Error handling:
Request {
    url: Url { scheme: "http", host: Ipv4(127.0.0.1), port: 0, path: ["ping"], username: None, password: None, query: None, fragment: None }
    method: Get
    remote_addr: V4(127.0.0.1:54146)
    local_addr: V4(127.0.0.1:0)
}
Error was: InvalidHmac
GET http://127.0.0.1:0/ping -> 200 OK (17.226138 ms)
GET http://127.0.0.1:0/ping -> 200 OK (0.806283 ms)
test http::ping_pong ... ok
POST http://127.0.0.1:0/find_definition -> 200 OK (27.954659 ms)
test http::ping_pong_hmac_wrong_secret ... ok
test http::ping_pong_hmac_with_correct_secret ... ok
test http::find_definition_multiple_dirty_buffers ... FAILED
POST http://127.0.0.1:0/find_definition -> 200 OK (13.71636 ms)
POST http://127.0.0.1:0/list_completions -> 200 OK (280.478051 ms)
test http::find_definition ... FAILED

Builds with rustc 1.12 beta fail because of #50.

rillian commented 8 years ago

The InvalidHmac stanza is printed on master, so it's just the http::find_definition* tests which are failing.

rillian commented 8 years ago

The http::find_definition test failure looks like an improvement. The definition location and type is the same, but the context string contains only the single line instead of two lines run together.

The http::find_definition_multiple_dirty_buffers test shows multiple lines run together in the returned context where before it didn't. So this issue isn't fixed, but at least it's no worse than before.

Those two can be made to pass by just updating the expected context string. I'm stuck on the third failure, in http::find_definition_in_std_library which returns a syntax error on the given code. I tried adding a semicolon to the end of the let statement to correct the actual syntax error, and a println! to correct the unused variable warning, but neither helped.

jwilm commented 8 years ago

Thanks for working on this, Ralph! I don't see the failure you're referencing at the moment. Travis shows both completions and definition tests passing for std.

test http::find_definition_in_std_library ... ok
test http::list_path_completions_std_library ... ok
rillian commented 8 years ago

You're right. I think I was seeing the extra failure locally because I had RUST_SRC_PATH set correctly. With these updates the tests pass on stable rust.

tests fail on 1.12 beta because of #50, and on 1.13 nightly scripts/assert_cargo_lock_unchanged fails. Good enough to merge?

jwilm commented 8 years ago

Yep, looks like I should take care of #50 ASAP. Thanks for working on this; I really appreciate it!