Clover for integration testing

1k Views Asked by At

I am using clover to generate coverage for integration test coverage. My clover db file(.db) is in directory .clover

When i am running my testcases, it generates the following files in .clover dir.

<clover3_1_6>.dbvayht_hke3br0q  
<clover3_1_6>.dbvayht_hke3br0q.1   
<clover3_1_6>.dbkkhjl_hke66gs6.1   
<clover3_1_6>.dbkkhjl_hke66gs6   
<clover3_1_6>.db.liverec.   

When i try to merge these , i get following error

Error writing new clover db at .clover/clover3_1_6.db": File ".clover/clover3_1_6.dbvayht_hke3br0q" is not a valid Clover registry file (file magic number invalid - expected 0xcafefeed but was 0x3b4e0341). Please regenerate.

I tried to regenerate the .db file and re-run my test cases. when i try to do a clover-merge it still fails and i get same error.

My clover merge target

<target name="merge-clover" description="clover database merge">
    <clover-merge initString=".clover/clover3_1_6.db">
        <cloverDbSet dir=".clover">
            <exclude name="**/clover3_1_6.db.liverec"/>
        <include name="**/clover3_1_6.db*"/>
        </cloverDbSet>
    </clover-merge>
</target>

Am i missing something here can someone help me with this?

1

There are 1 best solutions below

0
On

Files named like: "clover.dbsome_hash_code" or "clover.dbsome_hash_code.1"

(for example clover3_1_6.dbvayht_hke3br0q or clover3_1_6.dbvayht_hke3br0q.1)

are not Clover database files - these are coverage recording files and there is no need to merge them.

If you will try to generate a report pointing to the clover3_1_6.db, Clover will automatically find all coverage recording files located in the same directory and merge coverage data from all of them.

More information: https://confluence.atlassian.com/display/CLOVER/Managing+the+Coverage+Database