LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
Taggart

VI Analyzer Ignore Certain VIs Completely

Status: New

Searched briefly but couldn't find any ideas about this.

 

I know we have the ability #via_ignore comments to ignore specific tests for a specific VI, but I am looking at a different use case.

 

Here's the use case, I use DQMH. When you create a new DQMH module there is a lot of plumbing code that comes with it. It's standard stuff. Very rarely do I have to open or edit it. Much of it is scripting generated. It often fails tests but I don't care. In addition to failing, it takes up test time, which slows my feedback loop. I would a way to signal to VI analyzer to skip these files. I know I can use the VIAN API to limit the files it checks, but I was thinking there had to be a better way. 

 

Implementation Ideas - I had 2 main ideas

- Regex matching on VI names - with the regex pulled out of a text file somewhere ala gitignore. Many of the DQMH generated VIs have standard names, so that is easy. When generating events, they don't but you could easily add a prefix/suffix or something that the regex would pick up.

- Using the Tag API to tag the VI. I like this because the scripting can just apply the tag or apply it to the template the scripter uses. Downside is: kind of hidden from the user and perhaps if I decide to make some edits to this VI  I may want VIAN to stop ignoring it and it's not immediately obvious how to do that.

 

Note:

I picked the Execution and Performance Label because it didn't seem to fit any of the labels easily. If this is the wrong label and you are an admin, please relabel it.

 

 

Sam Taggart
CLA, CPI, CTD, LabVIEW Champion
DQMH Trusted Advisor
Read about my thoughts on Software Development at sasworkshops.com/blog
GCentral
14 Comments
AristosQueue (NI)
NI Employee (retired)

We can read the bookmarks of a VI without loading the VI.

AristosQueue_0-1626192076039.png

 

Taggart
Trusted Enthusiast

Well then I like that idea. The mechanism is already there, just some kind of wildcard?

Sam Taggart
CLA, CPI, CTD, LabVIEW Champion
DQMH Trusted Advisor
Read about my thoughts on Software Development at sasworkshops.com/blog
GCentral
cbutcher
Trusted Enthusiast

For me, the regex implementation would already solve point 2. from Joerg's post, which is how I'd have thought this might be used (VIA API for CI/CD/some other automation), since I'm already finding all the paths to add to the files to check, and filtering them would be easy.

If you wanted to explicitly allow some VIs to be filtered (a-la .gitignore) then you could build that into your runner (load config file, filter based on "matches pattern 1" OR "matches pattern 2" OR "is one of these 4 files", etc).

 

On the other hand, I don't know the time-cost of that compared with bookmarks/tags (but since you already need a path for the bookmarks API AQ showed, I guess it's not too bad?)

 

For interactive use, I can see that the 'runner' described above probably doesn't exist, but if it's a common set of removals, then a .viaconfig file seems reasonable, and the tool discussed in Joerg's post (specific for DQMH) sounds good for that framework. For other frameworks, I suppose the author(s) or interested parties could try distribute a similar tool, if there was demand?

Would an extra (file? string?) input to the VIA dialog be suitable, to provide interactive (regex? simple wildcard?) matching for exclusion of VIs?

I know that the viaconfig file allows you to remove things by path, and set these in the dialog, so I'm not sure how useful/required this is, but it might be handy for many nested files (tedious to exclude one by one?) with the same name pattern (I don't know DQMH, but I can imagine something similar for e.g. Send <xyz> Msg.vi, Do.vi in AF, if you wanted to exclude framework-tooling-generated files).

 


GCentral
TheQ
Active Participant

Couldn't the mechanism be to just use "#via_ignore" without any tests specified to ignore all tests? This could be useful to add to the Accessor templates or to the Actor Framework or DQMH generated VIs to ignore them in any analysis.

Quentin "Q" Alldredge

Chief LabVIEW Architect, Testeract | Owner, Q Software Innovations, LLC (QSI)
Director, GCentral | Admin, LabVIEW Wiki | Creator, The QControl Toolkit
Certified LabVIEW Architect | LabVIEW Champion | NI Alliance Partner