sglanzer-deprecated/ember-cli-blanket

Missing coverage after updating from 0.8.0 to 0.9.1

Closed this issue · 15 comments

After I upgraded to 0.9.1 (and blanket to 5e94fc30f2e694bb5c3718ddcbf60d467f4b4d26), when I see the coverage report from ember test, I am missing a great number of files, some of them seem to be files that do not have a test case. The report went from ~100 files to ~35 files. I added excludeMissingFiles: false to my blanket-options.

Ember version: 2.3.1

I too am seeing this.
For me it is the components that are not being checked for coverage.

hmmm, @edmundito are you seeing this in the browser? or via a report file?
excludeMissingFiles applies (AFAIK) only to the lcov reporter.

What may be happening here is that prior to the require/loader.js changes we ran this: https://github.com/sglanzer/ember-cli-blanket/blob/e9253c796aa46e5bb86be28b9aa3433a4814da58/vendor/blanket-require.js#L91 to capture all files that weren't explicitly required.

we may need to look at restoring a compatible version of the same.

@ajgordo do you have integration or component tests? e.g. @edmundito indicates that the files appear to be related to those not tested. Same for you or different issue?

I sure do.
My issue is that routes, initializers and services are checked for coverage, but not components.
This is in an addon so perhaps that plays a part in it?
I'm also having live-reload firing over and over as watchman notices the coverage file changed. Unrelated, but really annoying right now

@ajgordo can you gist your blanket-options - am assuming that these were covered prior to 0.9.1?

@ajgordo nothing looks out of sorts there.

did you say these were covered prior to 0.9.1?

I use blanket with addons almost exclusively with no issue.

what version of:

ember, loader.js, blanket (bower)

if you run in browser with ?coverage - no coverage on components? even if you focus on that one test?

if you are in browser, open inspector, source - there will be a subfolder named '(no domain') - these are the blanket annotated versions of loaded js code. do they exist for your components? if you set a breakpoint in one that you know is covered, is it hit?

Ember 2.2
Loader 3.6.1 (Although I keep seeing errors telling me that unable to require.unsee, please upgrade loader.js to >= v3.3.0 so there might be something funky going on)
blanket 5e94fc30f2e694bb5c3718ddcbf60d467f4b4d26

I'm looking in to the loader warning I'm seeing as I don't see why that would happen either.

Need to switch to loader > 3.6.1 or 4.0.

Ember-cli-blanket checks for loader versions so it is possible that you have it in both bower and package.json

-jeff

On Mar 31, 2016, at 6:21 PM, Gordo notifications@github.com wrote:

Ember 2.2
Loader 3.6.1 (Although I keep seeing errors telling me that unable to require.unsee, please upgrade loader.js to >= v3.3.0 so there might be something funky going on)
blanket 5e94fc30f2e694bb5c3718ddcbf60d467f4b4d26

I'm looking in to the loader warning I'm seeing as I don't see why that would happen either.


You are receiving this because you commented.
Reply to this email directly or view it on GitHub

My loader is 4.0.1, installed only via npm/packages.json.

@jschilli I am a little unclear about the recent changes to loader, can you clarify?

I definitely don't have loader in package.json, so it would have to be a dependency somewhere if it was loading both so it's all a bit funky. I'm going to do some project clean up and see if that makes it behave any differently.

Then your bower version is too old. Cleanup should be good.

I'm surprised that ember cli blanket doesn't bark about loader.js version

-jeff

On Mar 31, 2016, at 7:04 PM, Gordo notifications@github.com wrote:

I definitely don't have loader in package.json, so it would have to be a dependency somewhere if it was loading both so it's all a bit funky. I'm going to do some project clean up and see if that makes it behave any differently.


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub

It did, so I updated it to 3.6.1, only then would it complete the install.

Loader.js back in 3.5 timeframe added some optimizations short circuiting
the re;quire path that we used to rewrite the incoming js.

In loader.js 3.6.1 we landed a change that allows us to rewrite on both
import and require. Loader.js moved to an npm module in 4.0 so we now have
to verify that we have 3.6.1 or 4.0 in order to generate coverage

That link I sent earlier was a pre 3.6.1 hook to report coverage on
untested files

On Thu, Mar 31, 2016 at 7:01 PM Edmundo Ruiz notifications@github.com
wrote:

My loader is 4.0.1, installed only via npm/packages.json.

@jschilli https://github.com/jschilli I am a little unclear about the
recent changes to loader, can you clarify?


You are receiving this because you were mentioned.

Reply to this email directly or view it on GitHub
#127 (comment)

I have a PR up #128 - would be good if any/all of you could test that against your config before we merge and release.