Forum member
abelb
155 posts
Posts by abelb
-
What does the Fast Lane Threshold setting do? The UI description seems off
Under NCrunch settings there's a Fast Lane Threshold (ms). It shows the same description as Fast Lane Threads. While I do not exactly understand when the "fast lane threads" are actually used/triggered, it seems to be a setting that may greatly influence performance of NCrunch. The default seems …
26 Sep 2017 18:31 UTC
-
NCrunch does not honor the max timeout and runs tests forever
More insights. I changed the setting for NCrunch to only use one test process (which also failed to finish). I then attached a profiler (Red Gate) to try to find out what's happening. At some point this crashed and I couldn't debug the crash (unclear why, attaching a debugger failed). Regardless,…
26 Sep 2017 18:19 UTC
-
NCrunch does not honor the max timeout and runs tests forever
One more observation. The test Fixture was a normal instantiable class. I tried the following: [list] [*] Change the class to be static, and each member "static member". Effect: NCrunch considers them the same tests and tried to run the 4000+ tests at once, and was hanging. However, this config …
26 Sep 2017 15:59 UTC
-
FromRelativePath throws if path is contained in quotes
[quote]so this looks to be special case.[/quote] In a way, that is correct. It is under <OtherFlags>, which means it is an extra compiler setting. If you have multiple compiler switches, you need to have the ones that contain a value *and* can contain spaces, inside quotes. This may not be the defa…
26 Sep 2017 14:27 UTC
-
NCrunch does not honor the max timeout and runs tests forever
Hi Remco, thanks for your insights. Yesterday I essentially came to the same conclusion, which also explained why it *occasionally* just worked: [list] [*] I placed the offending project in its own solution [*] This caused NCrunch to do a "first run", I saw many hundred batches in the queue wit…
26 Sep 2017 14:19 UTC
-
FromRelativePath throws if path is contained in quotes
The following exception is thrown if a relative path is contained in quotes: [code=plain][19:23:02.7842-Core-29] Event [SettingValueChangedEvent:LogVerbosity] is being processed on Core thread with subscriber: CoreLogger. ENGINE - [19:23:11.6937-InitialisationQueueTask-32] ERROR (Load): Error o…
25 Sep 2017 17:33 UTC
-
NCrunch does not honor the max timeout and runs tests forever
I've actually tried that, leaving it overnight, more than once, even, depending on settings. To no avail so far. Yesterday I tried to use the Isolate attribute on the main class (Fixture). That didn't seem to help. But as you indicate, it is possible that this is caused by enumerating the tests. …
25 Sep 2017 03:09 UTC
-
NCrunch does not honor the max timeout and runs tests forever
Hi Remco, Some new insight: it looks like the tests are [b]not started at all[/b], perhaps not even queued. I added log-statements at the start + end of each test. None of the log statements were hit. I created detailed log output and uploaded it here: (- BROKEN LINK -). The last timestamp in tha…
23 Sep 2017 15:24 UTC
-
NCrunch does not honor the max timeout and runs tests forever
[quote]Did you have much luck with implementing your own timeout system with System.Diagnostics.Debugger.Launch()? To me it seems like this would be useful in knowing where in the code things are hanging.[/quote] Not yet, as it isn't trivial to implement that. At the moment I am first going over th…
23 Sep 2017 13:22 UTC
-
NCrunch does not honor the max timeout and runs tests forever
Thanks for your answer. I may have misphrased, as I didn't mean for you to spend hours on this, essentially I think I merely hoped on a "yes, it happens here too, strange, but not sure what it causes", or a "doesn't happen here, must be something local" or even a "oh, I have seen this before, see th…
23 Sep 2017 12:51 UTC
-
NCrunch does not honor the max timeout and runs tests forever
Hi Remco, Thanks for your answer, I will look into that, but it would mean changing the code of hundreds of test wrappers as I don't know beforehand which test will block. I have meanwhile had time to investigate this further. First off, they are still hanging, and it is reproducible at least …
23 Sep 2017 02:53 UTC
-
When NCRunch adds instrumentation, it sometimes changes the signature of class members
Thanks for the insights, I expected that it is tricky. On an 180k lines project, introducing comments to exclude certain lines is not only messy, it would disrupt the way people code. I understand there is currently no other way, but being able to exclude a class of methods, something like `exclude …
21 Sep 2017 12:43 UTC
-
When NCRunch adds instrumentation, it sometimes changes the signature of class members
The workaround I currently have is to *not* use instrumentation. It is an important test, it checks the surface area of available API functions, to make sure nobody changes the declarations, or adds a new public API function without proper discussion or adding documentation. If I would change the te…
21 Sep 2017 11:11 UTC
-
When NCRunch adds instrumentation, it sometimes changes the signature of class members
(as discussed before) I have seen this with F#, but it is possible it can occur with other languages too. The signature change is unobtrusive, it adds the generics type, and any uses of that method do not have to change. However, as you can see, it *does* change the method signature and as a resu…
20 Sep 2017 19:11 UTC
-
Processing queue often empty, but *something* is running
[quote] Using the method I described earlier to get a debugger on the locked up test would be very useful for figuring out where it's getting stuck.[/quote] I must have missed that and I don't see it in this thread, could repeat and/or point me in the right direction? Since a couple of 1000s of tes…
20 Sep 2017 16:04 UTC
-
NCrunch testrunner crashes on a Debugger.Break()
Avoiding it is probably a bad idea, after all the Break() instruction is encountered. And thinking about it now it makes sense. However, a better dialog text would be welcome, but I guess I should consult Microsoft on that. Unless you want to hook Break() (which is not that hard, you don't need to r…
20 Sep 2017 00:44 UTC
-
Processing queue often empty, but *something* is running
[quote]Did this report also contain the situation you described with the Processing Queue containing no data? [/quote] It's the same project, but not precisely the same moment (I mean, when I sent the report, the queue was filled). I will try to repro that particular situation and send a report on …
20 Sep 2017 00:36 UTC
-
NCrunch testrunner crashes on a Debugger.Break()
I'm not sure this is "by design", but the behavior surprised me. When you have a Debugger.Break() somewhere in your test code (not common, I know), then the NCrunch testrunner process will crash. It does, however, run the whole test if you dismiss the crash dialog box popup, which is rather odd. …
19 Sep 2017 17:19 UTC
-
Processing queue often empty, but *something* is running
I have submitted a bug report which is related to this, but not necessarily the same (test view shows many running tests, but nothing seems to happen for over an hour and timeout is not honored).
19 Sep 2017 16:55 UTC
-
Processing queue often empty, but *something* is running
Hi Remco, It seems to be related to changing the setting to Copy Referenced Assemblies to Workspace, which I used temporarily to test an inexplicable test output. It also happened when changing this back to False. I'll try to repro and use the Submit Bug Report menu option. Another strange beh…
19 Sep 2017 16:06 UTC