Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suite descriptions are not aggregated #126

Closed
PhilippSalvisberg opened this issue Jan 4, 2021 · 1 comment · Fixed by #130
Closed

Suite descriptions are not aggregated #126

PhilippSalvisberg opened this issue Jan 4, 2021 · 1 comment · Fixed by #130
Assignees
Labels
Milestone

Comments

@PhilippSalvisberg
Copy link
Member

PhilippSalvisberg commented Jan 4, 2021

Consider the following test scenario:

create or replace package x is

   --%suite(suite x)
   --%suitepath(foo.bar)

   --%test(feature a)
   --%disabled
   procedure test_a;

   --%test(feature b)
   --%disabled
   procedure test_b;

end;
/

create or replace package y is

   --%suite(suite y)
   --%suitepath(foo.bar)

   --%test(feature c)
   --%disabled
   procedure test_c;

   --%test(feature d)
   --%disabled
   procedure test_d;

end;
/

Running the following code in the worksheet

set serveroutput on size unlimited 
execute ut.run('plscope:foo');

produces a result similar to:

foo
  bar
    suite y
      feature c [0 sec] (DISABLED)
      feature d [0 sec] (DISABLED)
    suite x
      feature a [0 sec] (DISABLED)
      feature b [0 sec] (DISABLED)
 
Finished in .008275 seconds
4 tests, 0 failed, 0 errored, 4 disabled, 0 warning(s)

In the realtime reporter the result looks like this:

image

I see the following problems:

  • The suite description is suite y for the nodes foo, bar, y. It's correct for x only. For the other nodes foo and bar the description should be aggregated. Either something like suite y; suite x (order according position in the tree).
  • The option Show description (if present) is not honored for the nodes x and y (see also output of the worksheet).
    • suite x should be shown instead of x
    • suite y should be shown instead of y
@PhilippSalvisberg PhilippSalvisberg self-assigned this Jan 4, 2021
@PhilippSalvisberg PhilippSalvisberg added this to the v1.3.1 milestone Jan 4, 2021
@PhilippSalvisberg
Copy link
Member Author

The pre-run event document in this case looks as follows:

<?xml version="1.0"?>
<event type="pre-run">
  <items>
    <suite id="foo">
      <name>foo</name>
      <items>
        <suite id="foo.bar">
          <name>bar</name>
          <items>
            <suite id="foo.bar.y">
              <name>y</name>
              <description>suite y</description>
              <items>
                <test id="foo.bar.y.test_c">
                  <executableType>test</executableType>
                  <ownerName>SCOTT</ownerName>
                  <objectName>y</objectName>
                  <procedureName>test_c</procedureName>
                  <disabled>true</disabled>
                  <name>test_c</name>
                  <description>feature c</description>
                  <testNumber>1</testNumber>
                </test>
                <test id="foo.bar.y.test_d">
                  <executableType>test</executableType>
                  <ownerName>SCOTT</ownerName>
                  <objectName>y</objectName>
                  <procedureName>test_d</procedureName>
                  <disabled>true</disabled>
                  <name>test_d</name>
                  <description>feature d</description>
                  <testNumber>2</testNumber>
                </test>
              </items>
            </suite>
            <suite id="foo.bar.x">
              <name>x</name>
              <description>suite x</description>
              <items>
                <test id="foo.bar.x.test_a">
                  <executableType>test</executableType>
                  <ownerName>SCOTT</ownerName>
                  <objectName>x</objectName>
                  <procedureName>test_a</procedureName>
                  <disabled>true</disabled>
                  <name>test_a</name>
                  <description>feature a</description>
                  <testNumber>3</testNumber>
                </test>
                <test id="foo.bar.x.test_b">
                  <executableType>test</executableType>
                  <ownerName>SCOTT</ownerName>
                  <objectName>x</objectName>
                  <procedureName>test_b</procedureName>
                  <disabled>true</disabled>
                  <name>test_b</name>
                  <description>feature b</description>
                  <testNumber>4</testNumber>
                </test>
              </items>
            </suite>
          </items>
        </suite>
      </items>
    </suite>
  </items>
  <totalNumberOfTests>4</totalNumberOfTests>
</event>

It shows that the following nodes do not have a description:

  • foo
  • foo.bar

This means that instead of aggregating just an null value for description would be the better solution. It would reflect the utPLSQL model.

PhilippSalvisberg added a commit that referenced this issue Jan 4, 2021
This ensures that the description of a child suite is not used for a parent suite when the parent suite does not have a description. This was the root cause of issue #126.
PhilippSalvisberg added a commit that referenced this issue Jan 4, 2021
This ensures that the description of a child suite is not used for a parent suite when the parent suite does not have a description. This was the root cause of issue #126.
PhilippSalvisberg added a commit that referenced this issue Jan 4, 2021
…ons-b

Bugfix #126 - Suite descriptions are not aggregated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant