Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

:RunTests doesn't run any tests, reports success #409

Open
rtfb opened this issue Dec 28, 2022 · 0 comments
Open

:RunTests doesn't run any tests, reports success #409

rtfb opened this issue Dec 28, 2022 · 0 comments

Comments

@rtfb
Copy link

rtfb commented Dec 28, 2022

Hi and thanks for making vim-fireplace!

I stumbled upon a curious problem - when I run :RunTests, fireplace doesn't actually run anything, it fast forwards to reporting success:

Success: (clojure.test/run-tests 'isa2-assembler.disasm-test)

However, all other things seem to be working correctly, for example if I call run-tests directly in the Quasi-REPL (i.e. the cqc window), that does run the tests and reports test failures as I expect:

(clojure.test/run-tests 'isa2-assembler.disasm-test)                             

Testing isa2-assembler.disasm-test
hello from disasm/run

FAIL in (test-disassembler-returns-null) (disasm_test.clj:11)
The disassembler entry point returns null
expected: (= nil (run [154]))
  actual: (not (= nil 5))

Ran 1 tests containing 1 assertions.
1 failures, 0 errors.
{:test 1, :pass 0, :fail 1, :error 0, :type :summary}
Press ENTER or type command to continue

I have found another person reporting a similar problem here on StackOverflow. Similarly to that SO question, I'm running nrepl in a Docker as well. However, his advice to fiddle with the order of plugins doesn't help me.

I've added a bit of debug logging to s:handle_test_response to inspect what data it gets:

  for [mkey, mval] in items(a:message)
    echo 'message[' . mkey . '] = ' . mval
  endfor

and it seems like it's receiving data in a format it does not expect. Here's what I get in my message trace:

 RunTests
Started: (clojure.test/run-tests 'isa2-assembler.disasm-test)
message[id] = 724db3ca-19e9-4f5b-b3aa-d61bd69fbf7f
message[out] =
Testing isa2-assembler.disasm-test

message[session] = b554a2fc-d0fe-4863-b8e0-5c982967c7a6
message[id] = 724db3ca-19e9-4f5b-b3aa-d61bd69fbf7f
message[out] = hello from disasm/run

message[session] = b554a2fc-d0fe-4863-b8e0-5c982967c7a6
message[id] = 724db3ca-19e9-4f5b-b3aa-d61bd69fbf7f
message[out] = isa2_assembler/disasm_test.clj   9       fail    test-disassembler-returns-null

message[session] = b554a2fc-d0fe-4863-b8e0-5c982967c7a6
message[id] = 724db3ca-19e9-4f5b-b3aa-d61bd69fbf7f
message[out] = The disassembler entry point returns null

message[session] = b554a2fc-d0fe-4863-b8e0-5c982967c7a6
message[id] = 724db3ca-19e9-4f5b-b3aa-d61bd69fbf7f
message[out] = expected: (= nil (run [154]))

message[session] = b554a2fc-d0fe-4863-b8e0-5c982967c7a6
message[id] = 724db3ca-19e9-4f5b-b3aa-d61bd69fbf7f
message[out] =   actual: (not (= nil 5))

message[session] = b554a2fc-d0fe-4863-b8e0-5c982967c7a6
message[id] = 724db3ca-19e9-4f5b-b3aa-d61bd69fbf7f
message[out] =
Ran 1 tests containing 1 assertions.

message[session] = b554a2fc-d0fe-4863-b8e0-5c982967c7a6
message[id] = 724db3ca-19e9-4f5b-b3aa-d61bd69fbf7f
message[out] = 1 failures, 0 errors.

message[session] = b554a2fc-d0fe-4863-b8e0-5c982967c7a6
message[id] = 724db3ca-19e9-4f5b-b3aa-d61bd69fbf7f
message[session] = b554a2fc-d0fe-4863-b8e0-5c982967c7a6
message[ns] = isa2-assembler.disasm-test
message[value] = {:test 1, :pass 0, :fail 1, :error 0, :type :summary}

Looking at s:handle_test_response code, it doesn't seem to expect any of these keys, it's looking up something else.

I'm not sure this is a bug in vim-fireplace, could be a problem with my setup, but it manifests in a way that may benefit from some sort of defensive fix. Does this resemble any known problem? How can I debug this further?

Versions of the software I run in the container:

$ clj --version
Clojure CLI version 1.11.1.1200
$ lein version
Leiningen 2.10.0 on Java 11.0.17 OpenJDK 64-Bit Server VM
$ cat .lein/profiles.clj 
{:user {:plugins [[cider/cider-nrepl "0.29.0"]]}}

Vim is running on the host, though. Is it possible that vim-fireplace picks up something incompatible from the host machine?

rtfb added a commit to rtfb/sketchbook that referenced this issue Jan 8, 2023
Started working on the code, but ran into problems with environment:
tpope/vim-fireplace#409
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant