Feature #8536

Untie coverage report from any components name

Added by Ilja Zakharov 4 months ago. Updated 3 months ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:
Published in build:


Currently, to upload total coverage Core should send it only as a part of finish report of sub-job or core. This is not the best solution since core or sub-job can calculate it in a sub-component which would unable to load it itself.

The desired solution is to introduce a separate request for this.

Related issues

Blocks Klever - Feature #8149: Think on proper progress evaluation when several jobs are solved at once or/and much computational resources are availableClosed2017-09-202017-10-26


#1 Updated by Evgeny Novikov 4 months ago

I suggest to use the same request as for uploading other reports but to introduce a new report type. The provided data should look like it was before. I.e. reports should look like:

    "type": "(sub-)job coverage",
    "id": "/0/tests/linux/usb/gadget/all/6caad7a",
    "coverage": {
        "generic:memory": "",
        "linux:alloc:irq": "",
        "linux:alloc:spinlock": "",
        "linux:alloc:usb lock": "",
        "linux:arch:io": "",
        "linux:block:genhd": "",
        "linux:block:queue": "",
        "linux:block:request": "",
        "linux:drivers:base:class": "",
        "linux:drivers:base:dma-mapping": "",
        "linux:drivers:clk1": "",
        "linux:drivers:clk2": "",
        "linux:fs:sysfs": "",
        "linux:kernel:locking:mutex": "",
        "linux:kernel:locking:rwlock": "",
        "linux:kernel:locking:spinlock": "",
        "linux:kernel:module": "",
        "linux:kernel:rcu:srcu": "",
        "linux:kernel:rcu:update:lock": "",
        "linux:kernel:rcu:update:lock bh": "",
        "linux:kernel:rcu:update:lock sched": "",
        "linux:kernel:sched:completion": "",
        "linux:lib:find_bit": "",
        "linux:lib:idr": "",
        "linux:net:register": "",
        "linux:net:rtnetlink": "",
        "linux:net:sock": "",
        "linux:usb:coherent": "",
        "linux:usb:dev": "",
        "linux:usb:gadget": "",
        "linux:usb:register": "",
        "linux:usb:urb": "" 

And all corresponding archives should be attached.

#2 Updated by Evgeny Novikov 4 months ago

For uploading so called verification coverage attached to verification reports nothing should be changed.

#3 Updated by Vladimir Gratinskiy 4 months ago

  • Due date set to 11/01/2017
  • Status changed from New to Resolved
  • % Done changed from 0 to 100

Implemented in branch feature_8536. Global coverage can be uploaded now only within "job coverage" report. Verfication reports covrerage uploading wasn't changed.

#4 Updated by Ilja Zakharov 4 months ago

  • Status changed from Resolved to Open

There will be no Sub-job components now. Instead of them we will use components with names Job. But Core also can have other components as children. So it is better not to rely on component names there at all. I tested the functionality in the branch and after removing exception at all works as expected, even collapsing reports works and coverage left saved at Job components reports. However, I kindly ask you to check that there is no any other code that relies on the assumption that total coverage should always be saved at Core/Sub-jobs reports (because it is not true now).

#5 Updated by Evgeny Novikov 4 months ago

My suggestion is too always keep components having coverage independently on their names. Sounds simple but may be hard to be implemented. Indeed you can use one more restriction, namely, coverage is reported either within verification reports or/and for first level Core children. In other cases you can corrupt jobs.

#6 Updated by Vladimir Gratinskiy 4 months ago

  • Status changed from Open to Resolved


#7 Updated by Evgeny Novikov 3 months ago

  • Status changed from Resolved to Closed

I merged the branch to master in 459f75e7.

Also available in: Atom PDF