IntentArchitect / Support

A repository dedicated to handling issues and support queries
3 stars 0 forks source link

Software Factory goes into an infinite loop building a module #40

Closed stephanjohnson closed 1 year ago

stephanjohnson commented 1 year ago

What happened?

I am building a module to help me maintain unit tests for my projects built with Intent Architect. I want to make the module as reusable as possible by building a base module with the high level concepts that are required to define a test suite. I then have a separate module to implement the xUnit code. I want to build it this way, because I want to be able to swop xUnit for nUnit, or even have a jestjs or any other test framework.

Current Projects: 1) Aryzac.Modules.Tests 1) Aryzac.Modules.Tests.xUnit

In the Aryzac.Modules.Tests module I have a designer and a package configured with two custom types.

1) Scenario - Used to help mock services and populate their initial data 2) Test - A test function

I have also added the Module Builder in the reference designer, so that modules that depend on this module automatically have the reference added to their module designers.

image

In the Aryzac.Modules.Test.xUnit module, I have an extra element to add Inline Data to a Test.

When I build the Aryzac.Modules.Tests module, it succeeds without failure. When I build the Aryzac.Modules.Tests.xUnit module, it never passes the Finalizing Execution step in the Software Factory. It continuously rebuilds the solution. I also noticed that the reference to Aryzac.Modules.Tests is removed and re-added automatically, triggering a new build.

2023-07-03_05-01-50

What version of Intent Architect are you using?

4.0.1

Additional information

No response

stephanjohnson commented 1 year ago

I was just busy going through some of the other issues on the support repo and I noticed #36. This is probably a duplicate of that issue.

JonathanLydall commented 1 year ago

Good morning @stephanjohnson,

What's happening here is that as part of the Software Factory execution it's compiling the module and generating the .imod file and because one of the Applications in this Intent Architect Solution has the module installed, it sees that the .imod file has changed and then triggers a re-installation of the module which in turn triggers restarting the Software Factory. If you observe the "status" in the very bottom and left of Intent Architect you can see the re-installation occurring.

In practice this shouldn't cause any problems as the Software Factory to all intents and purposes did actually complete, but just started itself again immediately after. It can definitely be confusing so we'll look into seeing if we can make it more clear what's happening in these situations. It also seems unnecessary for the Software Factory to restart for an Application which isn't using a module just because a different application of the same Solution used it, so we'll look into this too.

stephanjohnson commented 1 year ago

Hi @JonathanLydall,

Thank you. I did not see that the .imod file was being generated. This means that I can move forward.