Uploaded image for project: 'Clover'
  1. Clover
  2. CLOV-1121 Android for Clover Core
  3. CLOV-1119

Make more settings available in instrumentation profiles

    • Icon: Sub-task Sub-task
    • Resolution: Won't Fix
    • Icon: Low Low
    • someday
    • None
    • None
    • None

      • add multiple configuration instances in $CLV recorder in instrumented sources
      • add clover.profile variable, add automatic detection if platform is android
      • changes to clover configuration objects to allow specification of profiles
      • unit tests

            [CLOV-1119] Make more settings available in instrumentation profiles

            Michael Andreacchio made changes -
            Resolution New: Won't Fix [ 2 ]
            Status Original: Open [ 1 ] New: Closed [ 6 ]
            Marek Parfianowicz made changes -
            Assignee Original: Marek Parfianowicz [ mparfianowicz ]
            Owen made changes -
            Workflow Original: New Clover Workflow [ 897315 ] New: New Clover Workflow - Restricted [ 1473824 ]
            Piotr Swiecicki made changes -
            Workflow Original: Clover Workflow [ 896062 ] New: New Clover Workflow [ 897315 ]
            Piotr Swiecicki made changes -
            Workflow Original: reviewflow [ 396637 ] New: Clover Workflow [ 896062 ]

            Update: we already have a <profiles> tag, but it does not have so many settings as shown in a sample above.

            Marek Parfianowicz added a comment - Update: we already have a <profiles> tag, but it does not have so many settings as shown in a sample above.
            Marek Parfianowicz made changes -
            Summary Original: Add support of instrumentation profiles New: Make more settings available in instrumentation profiles
            Marek Parfianowicz made changes -
            Fix Version/s New: someday [ 23593 ]
            Fix Version/s Original: 3.5.0 [ 27195 ]

            This task will add profiles internally only. However, we could add later support for in in Ant/Maven. The existing clover-setup task:

            <clover-setup initstring-and-other-attributes>
              <distributedCoverage/>
              <files/>
              <fileset/>
              <methodcontext/>
              <statementcontext/>
              <testsources>
                <testclass>
                  <testmethod/>
                </testclass>
              </testsources>
            </clover-setup>
            

            would be changed to:

            <clover-setup initstring-and-other-attributes>
              <!-- One or more profiles can be defined, each with mandatory name -->
              <profile name="name-of-profile" initstring-and-other-attributes>
                <distributedCoverage/>
                <files/>
                <fileset/>
                <methodcontext/>
                <statementcontext/>
                <testsources>
                  <testclass>
                    <testmethod/>
                  </testclass>
                </testsources>
              </profile>
              <!-- Left for backward compatibility -->
              <distributedCoverage/>
              <files/>
              <fileset/>
              <methodcontext/>
              <statementcontext/>
              <testsources>
                <testclass>
                  <testmethod/>
                </testclass>
              </testsources>
            </clover-setup>
            
            • we'd have the implicit profile named "default" into which all attributes from <clover-setup> as well as tags directly below <clover-setup> would be kept.
            • we can have multiple profiles defined
            • at runtime user can define sth like "-Dclover.profile=profile-name"
            • we could also define an "empty" profile, which would use NullRecorder, thus would write no data to disk

            Major benefit I see is that code is instrumented once and ready to be executed on multiple environments

            Marek Parfianowicz added a comment - This task will add profiles internally only. However, we could add later support for in in Ant/Maven. The existing clover-setup task: <clover-setup initstring-and-other-attributes> <distributedCoverage/> <files/> <fileset/> <methodcontext/> <statementcontext/> <testsources> <testclass> <testmethod/> </testclass> </testsources> </clover-setup> would be changed to: <clover-setup initstring-and-other-attributes> <!-- One or more profiles can be defined, each with mandatory name --> <profile name="name-of-profile" initstring-and-other-attributes> <distributedCoverage/> <files/> <fileset/> <methodcontext/> <statementcontext/> <testsources> <testclass> <testmethod/> </testclass> </testsources> </profile> <!-- Left for backward compatibility --> <distributedCoverage/> <files/> <fileset/> <methodcontext/> <statementcontext/> <testsources> <testclass> <testmethod/> </testclass> </testsources> </clover-setup> we'd have the implicit profile named "default" into which all attributes from <clover-setup> as well as tags directly below <clover-setup> would be kept. we can have multiple profiles defined at runtime user can define sth like "-Dclover.profile=profile-name" we could also define an "empty" profile, which would use NullRecorder, thus would write no data to disk Major benefit I see is that code is instrumented once and ready to be executed on multiple environments
            Marek Parfianowicz made changes -
            Fix Version/s New: 3.2.0 [ 27195 ]

              Unassigned Unassigned
              mparfianowicz Marek Parfianowicz
              Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: