Skip to content

Suite descriptions are not aggregated #126

Closed

Description

@PhilippSalvisberg

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

Activity

  1. added this to the v1.3.1 milestone on Jan 4, 2021
  2. PhilippSalvisberg commented on Jan 4, 2021

    @PhilippSalvisberg
    MemberAuthor

    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.

  3. added a commit that references this issue on Jan 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions