Bug 89884 - [Bisected]Piglit run igt case fail
Summary: [Bisected]Piglit run igt case fail
Status: VERIFIED FIXED
Alias: None
Product: piglit
Classification: Unclassified
Component: infrastructure (show other bugs)
Version: unspecified
Hardware: All Linux (All)
: high major
Assignee: Dylan Baker
QA Contact: Piglit Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-04-03 08:33 UTC by lu hua
Modified: 2015-04-15 07:33 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
piglit.conf (3.31 KB, text/plain)
2015-04-07 09:00 UTC, lu hua
Details

Description lu hua 2015-04-03 08:33:14 UTC
System Environment:
--------------------------
Piglit: dfd8d8f9834326685b900aa41877d0359d8f26e9

==Bug detailed description==
-----------------------------
ConfigParser.NoSectionError: No section: 'igt'

Run igt case: 
[root@x-hsw27 piglit]# ./piglit-run.py -t core_getclient tests/igt.py a
Traceback (most recent call last):
  File "./piglit-run.py", line 32, in <module>
    run(sys.argv[1:])
  File "/GFX/Test/Piglit/piglit/framework/programs/run.py", line 286, in run
    profile = framework.profile.merge_test_profiles(args.test_profile)
  File "/GFX/Test/Piglit/piglit/framework/profile.py", line 456, in merge_test_profiles
    profile = load_test_profile(profiles.pop())
  File "/GFX/Test/Piglit/piglit/framework/profile.py", line 434, in load_test_profile
    os.path.splitext(os.path.basename(filename))[0]))
  File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/GFX/Test/Piglit/piglit/tests/igt.py", line 78, in <module>
    framework.core.PIGLIT_CONFIG.get('igt', 'path'), 'tests')
  File "/usr/lib64/python2.7/ConfigParser.py", line 607, in get
    raise NoSectionError(section)
ConfigParser.NoSectionError: No section: 'igt'

Bisect shows: dfd8d8f9834326685b900aa41877d0359d8f26e9 is the first bad commit
commit dfd8d8f9834326685b900aa41877d0359d8f26e9
Author:     Dylan Baker <baker.dylan.c@gmail.com>
AuthorDate: Tue Mar 3 11:32:27 2015 -0800
Commit:     Dylan Baker <baker.dylan.c@gmail.com>
CommitDate: Wed Apr 1 14:11:04 2015 -0700

    profile.py: Don't allow accidental reassignments of TestDict keys

    A common error in all.py is that two different tests are assigned to the
    same key value in profile.test_list. This change prevents a key from
    being reassigned to a new value on accident, but provides a mechanism to
    allow reassignment, using a context manager. This allows tests like the
    image_load_store tests in quick.py to be overwritten, but requires the
    author to mark that they know that they are overwriting tests, and that
    it's intentional.

    The error message will compare the tests by command, if the two tests
    have different commands then the commands will be printed for easy
    visual comparison. This helps to identify whether a test is being added
    twice (in a loop for example) or if two different tests are being
    assigned the same name.

    This also adds some tests for TestDict.

    v2: - remove some rebase artifacts, this makes the code a little simpler
          and a little cleaner
    v3: - rebase on master, includes grouptools separator changes
    v4: - Use a incremented value instead of True false for the context
          manager, this allows the allow_reassignment contextmanager to be
          nested.  (Ilia)
    v5: - Add comparison methods to the Test class
        - Use said comparisons to make the error reporting more verbose

    Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
    Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> (v4)

==Reproduce steps==
---------------------------- 
1. ./piglit-run.py -t core_getclient tests/igt.py a
Comment 1 Dylan Baker 2015-04-03 20:22:45 UTC
I can't reproduce this problem on master, and I have no idea how that change could result in that error.

This seems more like a configuration problem. Do you have a piglit.conf file?
Comment 2 lu hua 2015-04-07 09:00:15 UTC
Created attachment 114912 [details]
piglit.conf

Retest on old commit, it also fail. Bisect is invalid.
Also run piglit case, it works well.
Comment 3 lu hua 2015-04-08 06:03:41 UTC
Double check this issue, igt has bug 89950, so reset old igt commit then run igt, report following error:
Traceback (most recent call last):
  File "./piglit-run.py", line 32, in <module>
    run(sys.argv[1:])
  File "/GFX/Test/Piglit/piglit/framework/programs/run.py", line 286, in run
    profile = framework.profile.merge_test_profiles(args.test_profile)
  File "/GFX/Test/Piglit/piglit/framework/profile.py", line 456, in merge_test_profiles
    profile = load_test_profile(profiles.pop())
  File "/GFX/Test/Piglit/piglit/framework/profile.py", line 434, in load_test_profile
    os.path.splitext(os.path.basename(filename))[0]))
  File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/GFX/Test/Piglit/piglit/tests/igt.py", line 78, in <module>
    framework.core.PIGLIT_CONFIG.get('igt', 'path'), 'tests')
  File "/usr/lib64/python2.7/ConfigParser.py", line 607, in get
    raise NoSectionError(section)
ConfigParser.NoSectionError: No section: 'igt'

I don't find no piglit.conf. I will re-bisect it.
Build old commit
# cat piglit.conf
[igt]
path=/GFX/Test/Intel_gpu_tools/intel-gpu-tools
Comment 4 lu hua 2015-04-08 06:27:22 UTC
(In reply to lu hua from comment #3)
> Double check this issue, igt has bug 89950, so reset old igt commit then run
> 
> I don't find no piglit.conf. I will re-bisect it.
> Build old commit
> # cat piglit.conf
> [igt]
> path=/GFX/Test/Intel_gpu_tools/intel-gpu-tools

copy piglit.conf fail, it doesn't caused by piglit. 
In fact, Piglit code exposes bug 89950. 
Close it.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.