Feature #8536

Untie coverage report from any components name

Added by Ilja Zakharov 22 days ago. Updated 9 days ago.

Status:ClosedStart date:10/31/2017
Priority:UrgentDue date:11/01/2017
Assignee:Vladimir Gratinskiy% Done:

100%

Category:BridgeSpent time:-
Target version:0.3
Published in build:

Description

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... Closed 09/20/2017 10/26/2017

History

#1 Updated by Evgeny Novikov 22 days 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": "2541-fs5d38v6.zip",
        "linux:alloc:irq": "2541-ljt7h_hr.zip",
        "linux:alloc:spinlock": "2541-vi01zanp.zip",
        "linux:alloc:usb lock": "2541-6vs1uld4.zip",
        "linux:arch:io": "2541-sxemg0cv.zip",
        "linux:block:genhd": "2541-wfwbydt7.zip",
        "linux:block:queue": "2541-qri7x44k.zip",
        "linux:block:request": "2541-7pcs9pf4.zip",
        "linux:drivers:base:class": "2541-4z5no1v0.zip",
        "linux:drivers:base:dma-mapping": "2541-nwk79nyc.zip",
        "linux:drivers:clk1": "2541-n9ibxsul.zip",
        "linux:drivers:clk2": "2541-9m0d7apw.zip",
        "linux:fs:sysfs": "2541-wxj4miy9.zip",
        "linux:kernel:locking:mutex": "2541-c963s9_q.zip",
        "linux:kernel:locking:rwlock": "2541-sybump4g.zip",
        "linux:kernel:locking:spinlock": "2541-7yd4r5sj.zip",
        "linux:kernel:module": "2541-1z5i1axi.zip",
        "linux:kernel:rcu:srcu": "2541-3n0t27no.zip",
        "linux:kernel:rcu:update:lock": "2541-82vicj4l.zip",
        "linux:kernel:rcu:update:lock bh": "2541-1jkcfcbh.zip",
        "linux:kernel:rcu:update:lock sched": "2541-dmxfrak1.zip",
        "linux:kernel:sched:completion": "2541-954sm6bs.zip",
        "linux:lib:find_bit": "2541-hsag_igs.zip",
        "linux:lib:idr": "2541-dyt4nd7w.zip",
        "linux:net:register": "2541-z56kqaj1.zip",
        "linux:net:rtnetlink": "2541-p7o3y4ts.zip",
        "linux:net:sock": "2541-08p0h95a.zip",
        "linux:usb:coherent": "2541-cn0m0a3_.zip",
        "linux:usb:dev": "2541-qlpr3910.zip",
        "linux:usb:gadget": "2541-ww3gp6zp.zip",
        "linux:usb:register": "2541-a7i_e0d3.zip",
        "linux:usb:urb": "2541-blrjtaya.zip" 
    }
}

And all corresponding archives should be attached.

#2 Updated by Evgeny Novikov 22 days ago

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

#3 Updated by Vladimir Gratinskiy 21 days 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 21 days 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 UploadReport.py:419 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 21 days 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 21 days ago

  • Status changed from Open to Resolved

Fixed.

#7 Updated by Evgeny Novikov 9 days ago

  • Status changed from Resolved to Closed

I merged the branch to master in commit:459f75e7.

Also available in: Atom PDF