NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Incorrect indentation when using on-the-flying report generation and IF statement

 

Reproduce steps:

 

1. Use teststand version 4.2

2. Turn ON on-the-fying report option.

3. Report option -> INclude Step Results->Result Filtering Expression = Exclude Passed/Done/Skipped

 

4. My simply code is

For loop

   If something

      Do something

         If somethingmore

           Call Action and set Record Result = ON

        end if

  End IF

End loop

 

Issue:

    The test report generated for "Call Action" indents every new row. Because it is a long test, this make the test report very difficult to read. If there is a very long test, the test report is  become unreadable.

 

Is there a solution for this issue?

 

Thanks

0 Kudos
Message 1 of 6
(4,009 Views)

Hello, could you post a small sequence file that reproduces this issue?

 

Thanks,

Happy Halloween!

National Instruments
0 Kudos
Message 2 of 6
(3,953 Views)

Anna,

Here is the sequence that create this problem

Thanks

Biet

0 Kudos
Message 3 of 6
(3,923 Views)

I have been able to reproduce this with your file. I would like to work through this a bit to figure out at which point it starts shifting the rows because a regular for loop does not behave this way. Did it start occuring when you nested the While loop?

 

Thanks,

 

Anna

National Instruments
0 Kudos
Message 4 of 6
(3,905 Views)

As you seen, it starts when nesting the while loop,

thanks

Biet

0 Kudos
Message 5 of 6
(3,862 Views)

Hi Biet,

 

Unfortunately this is a known issue with TestStand, which is documented in the TestStand 4.2.x Known Issues. This occurs in situations where you are using HTML reports with On-The-Fly Reporting and a Result Filtering Expression. To avoid this situation, you can do one of a few things:


  • Use a different report format
  • Turn off On-The-Fly Reporting
  • Not filter the results

If you must filter results, you can modify the process model slightly to improve the situation. Though this is not a complete workaround, it can help.

 

First, configue your Report Options so that you are reporting All Results, rather than filtering. Leave On the Fly reporting ON. Next, we need to make a modification to your process model. In the process model, open the ProcessModelPostResultListEntry sequence. In this sequence, select the Process Step Result step, and select the Properties tab. On that tab, select the Preconditions category. The text for the precondition should be the following by default:

!Runstate.Root.Locals.ReportOptions.DisableReportGeneration &&
Runstate.Root.Locals.ReportOptions.UseOnTheFlyReporting


Now, we want to modify this to be as follows:

!Runstate.Root.Locals.ReportOptions.DisableReportGeneration &&
Runstate.Root.Locals.ReportOptions.UseOnTheFlyReporting &&
Parameters.Result.Status != "Passed" &&
Parameters.Result.Status != "Done" &&
Parameters.Result.Status != "Skipped"


This new precondition essentially implements our own filtering. In the condition that I have supplied, we will not add entries to the report where the status is "Passed", "Done", or "Skipped". (You can add additional lines to add additional statuses to filter.) The limitation here is that the bug provides incorrect indentation, so the results may still be grouped slightly differently than they would be without the bug.

 

I hope this helps!

 

John M

National Instruments
Applications Engineer
0 Kudos
Message 6 of 6
(3,817 Views)