SpecFlowOSS / SpecFlow.VisualStudio

Visual Studio extension of SpecFlow (extracted from the main SpecFlow repo)
Other
67 stars 73 forks source link

Shared projects cause Step bindings to go into analyses and stay there #161

Open kclarnold opened 8 years ago

kclarnold commented 8 years ago

Windows 8 and 10 VS 2015 Specflow Project Refernce-> Shared project Shared Project Add new feature file

Trace with Errors below but basically SpecFlow will now never return. you will get "Step Bindings are still being analysed. Please wait" I have let it run for an hour in one instance. The only solution is to not have a shared project. I have tried varying names, etc... specflowerror

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [11:12:42.6059428] Tracing: Tracing enabled for all categories [11:12:42.6059428] ProjectScopeFactory: subscribed to solution closed 1 [11:12:42.6129091] VsProjectScope: Initializing... [11:12:42.6357947] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\Connect_Payments-UI-Specflow\App.config [11:12:42.6497258] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\Connect_Payments-UI-Specflow\NONPCIFeature.feature [11:12:42.6507214] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\Connect_Payments-UI-Specflow\NonPCIForm.feature [11:12:42.6517163] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\Connect_Payments-UI-Specflow\UI Add Agency.feature [11:12:42.6596770] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\Connect_Payments-UI-Specflow\UI Add Agency_2.feature [11:12:42.6606729] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\Connect_Payments-UI-Specflow\UINONPCIFeature.feature [11:12:42.6805740] VsProjectScope: Initialized [11:12:42.6805740] VsProjectScope: Starting analysis services... [11:12:42.6905252] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\Connect_Payments-UI-Specflow\NonPCIFeatureSteps.cs [11:12:42.6905252] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\Connect_Payments-UI-Specflow\NonPCIFormSteps.cs [11:12:42.6915197] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\Connect_Payments-UI-Specflow\UIAddAgencySteps.cs [11:12:42.6925146] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\RestFulAPIHTTPWrapper\RestFulAPIHTTPWrapper\WGET.cs [11:12:42.6925146] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\Connect_Payments-UI-Specflow\NonPCIForm.feature.cs [11:12:42.6925146] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\Connect_Payments-UI-Specflow\Properties\AssemblyInfo.cs [11:12:42.6925146] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\Connect_Payments-UI-Specflow\UI Add Agency.feature.cs [11:12:42.6935095] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\Connect_Payments-UI-Specflow\UI Add Agency_2.feature.cs [11:12:42.6935095] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\Connect_Payments-UI-Specflow\UINONPCIFeature.feature.cs [11:12:42.6954996] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\packages\NUnitTestAdapter.2.0.0\lib\nunit.core.dll [11:12:42.6954996] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\packages\NUnitTestAdapter.2.0.0\lib\nunit.core.interfaces.dll [11:12:42.6954996] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\packages\NUnit.3.2.1\lib\net45\nunit.framework.dll [11:12:42.6954996] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\packages\NUnitTestAdapter.2.0.0\lib\nunit.util.dll [11:12:42.6964955] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\packages\NUnitTestAdapter.2.0.0\lib\NUnit.VisualStudio.TestAdapter.dll [11:12:42.6964955] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\packages\SpecFlow.2.0.0\lib\net45\TechTalk.SpecFlow.dll [11:12:42.6964955] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\packages\Selenium.WebDriver.2.53.0\lib\net40\WebDriver.dll [11:12:42.6964955] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\packages\Selenium.Support.2.53.0\lib\net40\WebDriver.Support.dll [11:12:42.6984867] GherkinProcessingScheduler: Analyzing request 'Initialize BindingFilesTracker' queued on thread: 1 [11:12:42.6984867] GherkinProcessingScheduler: Analyzing request 'Initialize ProjectFeatureFilesTracker' queued on thread: 1 [11:12:42.9134235] StepMap: StepMap with 4 feature files and 15 step definitions loaded [11:12:42.9134235] GherkinProcessingScheduler: Analyzing request 'Load from step map (ProjectFeatureFilesTracker)' queued on thread: 1 [11:12:42.9134235] GherkinProcessingScheduler: Analyzing request 'Load from step map (BindingFilesTracker)' queued on thread: 1 [11:12:42.9144173] GherkinProcessingScheduler: Analyzing request 'Analyze all starting (BindingFilesTracker)' queued on thread: 1 [11:12:42.9144173] GherkinProcessingScheduler: Analyzing request 'Analyze all starting (ProjectFeatureFilesTracker)' queued on thread: 1 [11:12:42.9144173] VsProjectScope: Analysis services started [11:12:42.9144173] GherkinLanguageService: Language service created [11:12:42.9164085] GherkinProcessingScheduler: Applying task 'Parse Gherkin: EntireFile' on thread: 69 [11:12:43.1273668] VsGeneratorServices: Discover project settings [11:12:43.1313453] VsGeneratorInfoProvider: Discovering generator information... [11:12:43.1333364] VsGeneratorInfoProvider: Runtime found at C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\packages\SpecFlow.2.0.0\lib\net45 [11:12:43.1343310] VsGeneratorInfoProvider: Generator found at C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\packages\SpecFlow.2.0.0\tools\TechTalk.SpecFlow.Generator.dll [11:12:43.1363207] RemoteGeneratorServices: Creating remote wrapper for the project's generator (2.0.0 at C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\packages\SpecFlow.2.0.0\tools) [11:12:43.2010021] EditorParser: Start full parsing [11:12:43.3044903] EditorParser: Finished full parsing in 101 ms, 0 errors [11:12:43.4159399] GherkinProcessingScheduler: Applying task 'Initialize BindingFilesTracker' on thread: 72 [11:12:43.5194295] RemoteAppDomainTestGeneratorFactory: AppDomain for generator created [11:12:43.5194295] VsGeneratorServices: Discover project settings [11:12:43.8020323] VsProjectFileTracker: Item Added: NONPCIFeature.feature.cs [11:12:43.8030262] FileChangeEventsListener: Start listening to file: C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\Connect_Payments-UI-Specflow\NONPCIFeature.feature.cs [11:12:43.8030262] VsProjectFileTracker: Item Added: NONPCIFeature.feature.cs [11:12:43.8040203] VsProjectFileTracker: Item Added: NONPCIFeature.feature.cs [11:12:44.2766849] BindingFilesTracker: Initialized [11:12:44.2776791] GherkinProcessingScheduler: Applying task 'Initialize ProjectFeatureFilesTracker' on thread: 72 [11:12:44.3821628] ProjectFeatureFilesTracker: Initialized [11:12:44.3821628] GherkinProcessingScheduler: Applying task 'Load from step map (ProjectFeatureFilesTracker)' on thread: 72 [11:12:44.4020635] ProjectFeatureFilesTracker: Applied loaded fieature file steps [11:12:44.4020635] GherkinProcessingScheduler: Applying task 'Load from step map (BindingFilesTracker)' on thread: 72 [11:12:44.4508244] BindingFilesTracker: Applied loaded bindings [11:12:44.4508244] GherkinProcessingScheduler: Applying task 'Analyze all starting (BindingFilesTracker)' on thread: 72 [11:12:44.4528145] GherkinProcessingScheduler: Analyzing request 'Analyze \WGET.cs (BindingFilesTracker)' queued on thread: 72 [11:12:44.4528145] GherkinProcessingScheduler: Analyzing request 'Analyze NONPCIFeature.feature.cs (BindingFilesTracker)' queued on thread: 72 [11:12:44.4528145] GherkinProcessingScheduler: Analyzing request 'Analyze all finishing (BindingFilesTracker)' queued on thread: 72 [11:12:44.9533419] GherkinProcessingScheduler: Applying task 'Analyze all starting (ProjectFeatureFilesTracker)' on thread: 72 [11:12:44.9543371] GherkinProcessingScheduler: Analyzing request 'Analyze NONPCIFeature.feature (ProjectFeatureFilesTracker)' queued on thread: 72 [11:12:44.9543371] GherkinProcessingScheduler: Analyzing request 'Analyze all finishing (ProjectFeatureFilesTracker)' queued on thread: 72 [11:12:45.4548652] GherkinProcessingScheduler: Applying task 'Analyze \WGET.cs (BindingFilesTracker)' on thread: 72 [11:12:45.4618304] BindingFilesTracker: Exception: System.ArgumentException: Illegal characters in path. at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional) at System.IO.Path.Combine(String path1, String path2) at TechTalk.SpecFlow.VsIntegration.Utils.VsxHelper.FindProjectItemByProjectRelativePath(Project project, String filePath) at TechTalk.SpecFlow.VsIntegration.LanguageService.ProjectFilesTracker1.<>c__DisplayClass12.<FindProjectItemByProjectRelativePath>b__e(Project project) at System.Linq.Enumerable.<>c__DisplayClass7_03.b0(TSource x) at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext() at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable1 source, Func2 predicate) at TechTalk.SpecFlow.VsIntegration.LanguageService.ProjectFilesTracker1.FindProjectItemByProjectRelativePath(TFileInfo fileInfo) [11:12:45.4628249] GherkinProcessingScheduler: Task error: System.ArgumentException: Illegal characters in path. at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional) at System.IO.Path.GetExtension(String path) at TechTalk.SpecFlow.VsIntegration.LanguageService.BindingFileInfo.get_IsAssembly() at TechTalk.SpecFlow.VsIntegration.LanguageService.BindingFilesTracker.HandleMissingProjectItem(BindingFileInfo fileInfo) at TechTalk.SpecFlow.VsIntegration.LanguageService.ProjectFilesTracker1.AnalyzeInternal(TFileInfo fileInfo, Boolean fireUpdatedEvent, Boolean analyzeRelatedFiles) at TechTalk.SpecFlow.VsIntegration.LanguageService.ProjectFilesTracker1.<>cDisplayClass6.b4() at TechTalk.SpecFlow.VsIntegration.LanguageService.DelegateTask.Apply() at TechTalk.SpecFlow.VsIntegration.LanguageService.GherkinProcessingScheduler.DoTask(IGherkinProcessingTask task) [11:12:45.4628249] GherkinProcessingScheduler: Applying task 'Analyze NONPCIFeature.feature.cs (BindingFilesTracker)' on thread: 72 [11:12:45.4678014] BindingFilesTracker: Analyzing binding file: NONPCIFeature.feature.cs [11:12:45.5901968] GherkinProcessingScheduler: Applying task 'Analyze all finishing (BindingFilesTracker)' on thread: 72 [11:12:45.5911945] BindingFilesTracker: Exception: System.ArgumentException: Illegal characters in path. at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional) at System.IO.Path.Combine(String path1, String path2) at TechTalk.SpecFlow.VsIntegration.Utils.VsxHelper.FindProjectItemByProjectRelativePath(Project project, String filePath) at TechTalk.SpecFlow.VsIntegration.LanguageService.ProjectFilesTracker1.<>c__DisplayClass12.<FindProjectItemByProjectRelativePath>b__e(Project project) at System.Linq.Enumerable.<>c__DisplayClass7_03.b0(TSource x) at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext() at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable1 source, Func2 predicate) at TechTalk.SpecFlow.VsIntegration.LanguageService.ProjectFilesTracker1.FindProjectItemByProjectRelativePath(TFileInfo fileInfo) [11:12:45.5911945] GherkinProcessingScheduler: Task error: System.ArgumentException: Illegal characters in path. at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional) at System.IO.Path.GetExtension(String path) at TechTalk.SpecFlow.VsIntegration.LanguageService.BindingFileInfo.get_IsAssembly() at TechTalk.SpecFlow.VsIntegration.LanguageService.BindingFilesTracker.HandleMissingProjectItem(BindingFileInfo fileInfo) at TechTalk.SpecFlow.VsIntegration.LanguageService.ProjectFilesTracker1.AnalyzeInternal(TFileInfo fileInfo, Boolean fireUpdatedEvent, Boolean analyzeRelatedFiles) at TechTalk.SpecFlow.VsIntegration.LanguageService.ProjectFilesTracker1.AnalyzeInitially() at TechTalk.SpecFlow.VsIntegration.LanguageService.DelegateTask.Apply() at TechTalk.SpecFlow.VsIntegration.LanguageService.GherkinProcessingScheduler.DoTask(IGherkinProcessingTask task) [11:12:45.5911945] GherkinProcessingScheduler: Applying task 'Analyze NONPCIFeature.feature (ProjectFeatureFilesTracker)' on thread: 72 [11:12:45.5941746] ProjectFeatureFilesTracker: Analyzing feature file: NONPCIFeature.feature [11:12:45.5971620] VsGeneratorServices: Discover project settings [11:12:45.6528839] GherkinProcessingScheduler: Applying task 'Analyze all finishing (ProjectFeatureFilesTracker)' on thread: 72 [11:12:45.6538777] VsGeneratorInfoProvider: Discovering generator information... [11:12:45.6817402] VsGeneratorInfoProvider: Runtime found at C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\packages\SpecFlow.2.0.0\lib\net45 [11:12:45.6817402] VsGeneratorInfoProvider: Generator found at C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\packages\SpecFlow.2.0.0\tools\TechTalk.SpecFlow.Generator.dll [11:12:45.6837303] RemoteGeneratorServices: Creating remote wrapper for the project's generator (2.0.0 at C:\Users\memnoc\Source\Repos\Automation-QA\FrameWork\Selenium\Connect_Payments-UI-Specflow\packages\SpecFlow.2.0.0\tools) [11:12:45.9882260] RemoteAppDomainTestGeneratorFactory: AppDomain for generator created [11:12:45.9892205] ProjectStepSuggestionProvider: Suggestions from feature files ready [11:12:53.8105656] RemoteAppDomainTestGeneratorFactory: AppDomain for generator disposed [11:12:56.0027313] RemoteAppDomainTestGeneratorFactory: AppDomain for generator disposed

samholder commented 8 years ago

have you tried deleting the specflow-stepmap* from %temp%. That might work

kclarnold commented 8 years ago

@samholder Yes that works until you add in another feature file, or close and re-open the solution. Then you are back to the analyses stuck point. Basicly if you do anything that kicks off a regen of the feature files.

dirkrombauts commented 8 years ago

@kclarnold at the moment it isn't clear what is going to happen with regard to shared projects: we don't know whether Microsoft will continue the direction of shared projects or will promote PCL projects.

It will probably take time before this can be fixed :-(

If you or anybody else is willing to dig into the code and fix it, we will welcome a PR.

We will leave this issue open until the end of July. If nobody has sent a PR by then, we will close this issue.

kclarnold commented 8 years ago

Dirk, Thank you for the response I am not what I would consider proficient enough in C# to fix the issue, but I may take a stab at isolating the issue. Not sure what a PCL project is but I will look it up and see if I can go that route.

Kc Arnold -- “Nobody ever went broke underestimating the intelligence of the American people.” ~PT Barnum

From: Dirk Rombauts [mailto:notifications@github.com] Sent: Thursday, May 12, 2016 9:48 AM To: techtalk/SpecFlow SpecFlow@noreply.github.com Cc: Kacey Arnold karnold@accela.com; Mention mention@noreply.github.com Subject: Re: [techtalk/SpecFlow] Shared projects cause Step bindings to go into analyses and stay there (#611)

@kclarnoldhttps://github.com/kclarnold at the moment it isn't clear what is going to happen with regard to shared projects: we don't know whether Microsoft will continue the direction of shared projects or will promote PCL projects.

It will probably take time before this can be fixed :-(

If you or anybody else is willing to dig into the code and fix it, we will welcome a PR.

We will leave this issue open until the end of July. If nobody has sent a PR by then, we will close this issue.

— You are receiving this because you were mentioned. Reply to this email directly or view it on GitHubhttps://github.com/techtalk/SpecFlow/issues/611#issuecomment-218816858