Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Lucene Fields:
      New

      Description

      (tracking as a bug before it get lost in email...
      http://www.nabble.com/Clover-reports-missing-from-hudson--to15510616.html#a15510616
      )

      The clover setup for Lucene currently has some problems, 3 i think...

      1) instrumentation fails on contrib/db/ because it contains java packages the ASF Clover lscence doesn't allow instrumentation of. i have a patch for this.

      2) running instrumented contrib tests for other contribs produce strange errors...

      monospaced
      [junit] Testsuite: org.apache.lucene.analysis.el.GreekAnalyzerTest
      [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0.126 sec
      [junit]
      [junit] ------------- Standard Error -----------------
      [junit] [CLOVER] FATAL ERROR: Clover could not be initialised. Are you sure you have Clover
      in the runtime classpath? (class
      java.lang.NoClassDefFoundError:com_cenqua_clover/CloverVersionInfo)
      [junit] ------------- ---------------- ---------------
      [junit] Testcase: testAnalyzer(org.apache.lucene.analysis.el.GreekAnalyzerTest): Caused
      an ERROR
      [junit] com_cenqua_clover/g
      [junit] java.lang.NoClassDefFoundError: com_cenqua_clover/g
      [junit] at org.apache.lucene.analysis.el.GreekAnalyzer.<init>(GreekAnalyzer.java:157)
      [junit] at
      org.apache.lucene.analysis.el.GreekAnalyzerTest.testAnalyzer(GreekAnalyzerTest.java:60)
      [junit]
      [junit]
      [junit] Test org.apache.lucene.analysis.el.GreekAnalyzerTest FAILED
      monospaced

      ...i'm not sure what's going on here. the error seems to happen both when
      trying to run clover on just a single contrib, or when doing the full
      build ... i suspect there is an issue with the way the batchtests fork
      off, but I can't see why it would only happen to contribs (the regular
      tests fork as well)

      3) according to Grant...

      quote
      ...There is also a bit of a change on Hudson during the migration to the new servers that needs to be ironed out.
      quote

        Activity

        Hide
        Hoss Man added a comment -

        patch to limit the files we ask clover to instrument to those we (expect) to be in the allowed packages. solves the problem with contrib/db and any future code that may work like it.

        Show
        Hoss Man added a comment - patch to limit the files we ask clover to instrument to those we (expect) to be in the allowed packages. solves the problem with contrib/db and any future code that may work like it.
        Hide
        Grant Ingersoll added a comment -

        Does the Clover license allow instrumenting non a.o packages, as in:

        Show
        Grant Ingersoll added a comment - Does the Clover license allow instrumenting non a.o packages, as in: <fileset dir="src/java"/> + <fileset dir="src/java"> + <!-- see https://svn.apache.org/repos/private/committers/donated-licenses/clover/1.3.2/README.txt --> + <include name="org/apache/**" /> + <include name="javax/**" /> + <include name="org/xml/**" /> + <include name="org/w3c/**" /> + <include name="com/example/**" /> + </fileset> </clover-setup>
        Hide
        Hoss Man added a comment -

        Does the Clover license allow instrumenting non a.o packages, as in:

        ...per the README file i linked to, it allows instrumenting of those exact packages (hence the fileset - we'll probably never have "org.w3c.*" packages in our code base, but I include them for completeness.

        Show
        Hoss Man added a comment - Does the Clover license allow instrumenting non a.o packages, as in: ...per the README file i linked to, it allows instrumenting of those exact packages (hence the fileset - we'll probably never have "org.w3c.*" packages in our code base, but I include them for completeness.
        Hide
        Hoss Man added a comment -

        builds on previous patch to fix contrib/db (which i should note: also centralized teh clover "db" and reports so they were in one place even if you ran clover on individual contribs) to also fix it so the classpath for runing the contrib tests can find clover.

        without this patch, contrib tests don't include $

        {java.class.path} (the core tests did) ... this was causing a problem because ${java.class.path}

        is where i had the clover jar and dependencies.

        i'm not sure if we want to change this to add an explicit "clover.path" property that people must set saying explicitly where they want the build system to look for clover ... that seems like a cleaner way to ensure the contrib tests don't include stuff in the junit classpath that they shouldn't - but it may not be a big deal considering the core tests have always worked this way.

        comments?

        Grant: still need clarification on your comments about hudson...

        ...There is also a bit of a change on Hudson during the migration to the new servers that needs to be ironed out.

        Show
        Hoss Man added a comment - builds on previous patch to fix contrib/db (which i should note: also centralized teh clover "db" and reports so they were in one place even if you ran clover on individual contribs) to also fix it so the classpath for runing the contrib tests can find clover. without this patch, contrib tests don't include $ {java.class.path} (the core tests did) ... this was causing a problem because ${java.class.path} is where i had the clover jar and dependencies. i'm not sure if we want to change this to add an explicit "clover.path" property that people must set saying explicitly where they want the build system to look for clover ... that seems like a cleaner way to ensure the contrib tests don't include stuff in the junit classpath that they shouldn't - but it may not be a big deal considering the core tests have always worked this way. comments? Grant: still need clarification on your comments about hudson... ...There is also a bit of a change on Hudson during the migration to the new servers that needs to be ironed out.
        Hide
        Grant Ingersoll added a comment -

        You expect me to remember something said that long ago?

        I believe it has to do with where clover and other libraries are now located. Before they were in ant/lib, now they are elsewhere. When you commit these, I can look into that piece.

        Show
        Grant Ingersoll added a comment - You expect me to remember something said that long ago? I believe it has to do with where clover and other libraries are now located. Before they were in ant/lib, now they are elsewhere. When you commit these, I can look into that piece.
        Hide
        Hoss Man added a comment -

        I was hoping seeing it again would jog your memory : )

        i committed the changes to the build files, if the hudson problem was related to the classpath for clover this may magically solve that problem – if not, just makesure whatever directory clover is in gets added to the CLASSPATH before running ant.

        Committed revision 637344.

        assigning to you to track the hudson config fiddling

        Show
        Hoss Man added a comment - I was hoping seeing it again would jog your memory : ) i committed the changes to the build files, if the hudson problem was related to the classpath for clover this may magically solve that problem – if not, just makesure whatever directory clover is in gets added to the CLASSPATH before running ant. Committed revision 637344. assigning to you to track the hudson config fiddling
        Hide
        Grant Ingersoll added a comment -

        OK, I confirm that Clover reports are now being generated. Looks like we need to write some more tests!

        Show
        Grant Ingersoll added a comment - OK, I confirm that Clover reports are now being generated. Looks like we need to write some more tests!

          People

          • Assignee:
            Grant Ingersoll
            Reporter:
            Hoss Man
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development