Bug 9356

Summary: piglit needs to be updated to run newer tests
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Jianxun Zhang <jianxun.zhang>
Component: graphicsAssignee: Jussi Kukkonen <jku>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium CC: alex.kanavin, jku, meta.mr.watcher, meta.watcher
Version: 2.1   
Target Milestone: 2.2   
Hardware: x86   
OS: x86_64   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Jianxun Zhang 2016-03-30 16:40:59 UTC
Refer to what I found when trying to test IGT with piglit in OE:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=9292

piglit has a test py file to run test applications built in IGT. IGT provide test list file required by piglit. They work together in this case. But piglit tip in OE is too old when IGT (existing 1.13 and coming 1.14) already move forward with upstream piglit project.

Note there could be some extra work on the road beside from a mere update of commit tip to enable IGT test group in piglit, but we have to update piglit first before getting there. (ref to bz9292).
Comment 1 Jussi Kukkonen 2016-03-30 17:29:52 UTC
Upgrading piglit is on my list as well. It requires adding python-six to oe-core (or otherwise handling the new dependency).
Comment 2 Jussi Kukkonen 2016-03-31 08:06:52 UTC
Alex: I think I can take this one if you want.

Some notes on other piglit improvements:
 * should allow compiling piglit without X11 (there's a bug about this one)
 * should enable GBM backend (this is mostly changing waffle PACKAGECONFIG and setting PIGLIT_PLATFORM=gbm environment variable)

The latter might be interesting for the IGT use case as well (it should allow running on a non-graphical image which would be faster to build and would presumably have more reproducible results).
Comment 3 Alexander Kanavin 2016-03-31 10:02:12 UTC
Sure, please do.
Comment 4 Alexander Kanavin 2016-06-09 09:55:43 UTC
When you do the update, you can switch piglit over to python 3 at the same time. The dependencies (python3-numpy, python3-mako, python3-nose) are now all available in oe-core specifically for that purpose :)
Comment 5 Jussi Kukkonen 2016-06-09 10:02:41 UTC
(In reply to comment #4)
> When you do the update, you can switch piglit over to python 3 at the same
> time. The dependencies (python3-numpy, python3-mako, python3-nose) are now
> all available in oe-core specifically for that purpose :)

Thanks a lot. I'll include this in the next upgrade patchset.
Comment 6 Jussi Kukkonen 2016-06-23 11:43:53 UTC
Didn't quite get this done for my last patchset, should be next week...

(In reply to comment #4)
> When you do the update, you can switch piglit over to python 3 at the same
> time. The dependencies (python3-numpy, python3-mako, python3-nose) are now
> all available in oe-core specifically for that purpose :)

Just to make sure: It looks like I still have to move python3-six to oe-core for current piglit versions: I assume you checked the older versions dependencies?  

It's totally ok, just wanted to check that you didn't have some clever way to avoid the dependency...
Comment 7 Alexander Kanavin 2016-06-23 12:42:21 UTC
(In reply to comment #6)

> Just to make sure: It looks like I still have to move python3-six to oe-core
> for current piglit versions: I assume you checked the older versions
> dependencies?  
> 
> It's totally ok, just wanted to check that you didn't have some clever way
> to avoid the dependency...

Yeah, I was working from the piglit recipe that is in oe-core now; I didn't check if the current piglit adds or removes or makes optional any of its dependencies.
Comment 8 Jussi Kukkonen 2016-07-08 08:08:52 UTC
My 1 day estimate was a gross understatement even by software development estimation standards, but the patches are now on list.

Some notes:
* piglit by default fails 12000 tests, but this goes away when run without a window (e.g. with PIGLIT_NO_WINDOW=1). I suspect this is a test problem, discussing with upstream
* piglit is now massive, 1.5G installed. It's pretty fast at runtime so the bottle neck at the moment is packaging. It takes forever.
* I plan to enable gbm (instead of glx-egl) platform by default but decided to send this now (in case IGT is blocked by this).
Comment 9 Jianxun Zhang 2016-07-08 18:21:12 UTC
Jussi, thanks for your work on this issue! I should update IGT in meta-intel for the latest graphic stack release. Once I get a hand on it, will try to run test from new piglit.
Comment 10 Jussi Kukkonen 2016-07-20 13:18:17 UTC
commit c3753a8b187c24fcac57c37c8a6d98be64af9f3b
Author: Jussi Kukkonen <jussi.kukkonen@intel.com>
Date:   Wed Jul 13 20:00:33 2016 +0300

    piglit: Upgrade version, use python3
    
    * Remove backported patch
    * Update dependencies to use python3 modules, add depencies added
      in the new version
    * Install only stripped binaries to keep size down
    * Fix bash-completion install location
    
    (From OE-Core rev: f7193a306cfc3ac0a3fdcf891716a59f5b8178e8)
    
    Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
    Signed-off-by: Ross Burton <ross.burton@intel.com>
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>