elm-coverage icon indicating copy to clipboard operation
elm-coverage copied to clipboard

Cannot run with non-default tests location

Open robyoder opened this issue 3 years ago • 2 comments

I've created a sample project to show the problem.

STR

  1. Install elm, elm-coverage, and elm-test globally.
  2. elm-coverage client/src -t client/tests

Expected

It would work. This is the documented way to reference src and test files in non-default locations.

Actual

[11:07:31.31] Instrumenting sources...
[11:07:31.36] Running tests...

[11:07:31.44] Ruh roh, tests failed.
[11:07:31.44] Something went wrong:
Error: The "source-directories" field in your elm.json lists the following directory:

/Users/rob/Projects/elm-coverage-bug/.coverage/instrumented/client/tests

It doesn't exist though. Is it missing? Is there a typo?

Looking in the .coverage/instrumented directory, the elm.json file contains "source-directories":["client/src","client/tests"], but the actual directory structure is:

instrumented
- client
  - src
- tests
- elm.json

So it looks like the tests directory just doesn't get copied over correctly.

robyoder avatar Jan 26 '22 06:01 robyoder

I have a similar issue. Our elm.json lists

    "source-directories": [
        "src",
        "../shared",
        "Migrations"
    ],

and I'm seeing

Error: The "source-directories" field in your elm.json lists the following directory:

/path/to/elmjson/.coverage/shared

If I remove ../shared it gets passed this stage, but then (unsurprisingly) does not compile

simonh1000 avatar Mar 28 '23 05:03 simonh1000

@simonh1000 I have a PR open for this here, but it's not received any attention yet. I have an install branch so that I can install the package directly from my fork. Could you try updating your package.json to "elm-coverage": "github:robyoder/elm-coverage#install" and see if it works?

robyoder avatar Apr 25 '23 05:04 robyoder