Tests: fix script_load_keymap hierarchy test #65963

Open
opened 2019-06-20 18:12:07 +02:00 by Ray molenkamp · 6 comments
Member

System Information
Operating system: verified Win32/Win64/Linux64/Mac didn't test Linux32
Graphics card: N/A

Blender Version
Broken: 2f77175fec
Worked:

Short description of error

script_load_keymap is passing on all platforms, however looking a little closer at the output, it really should not have passed by the looks of it.

Windows

[HANDLER_OUTPUT] 
        Start  38: script_load_keymap

[HANDLER_VERBOSE_OUTPUT] 

38: Test command: D:\a\1\build_windows_Release_x64_vc15_Release\bin\Release\blender.exe "--background" "-noaudio" "--factory-startup" "--python" "D:/a/1/s/tests/python/bl_keymap_completeness.py"

38: Test timeout computed to be: 10000000
38: Blender 2.80 (sub 74) (hash d30f72dfd8ac built Wed 06/19/2019 10:55 PM)
38: Unable to create directory C:\Users\VssAdministrator/.thumbnails/large/
38: Unable to create directory C:\Users\VssAdministrator/.thumbnails/fail/blender/
38: found bundled python: D:\a\1\build_windows_Release_x64_vc15_Release\bin\Release\2.80\python
38: Traceback (most recent call last):
38:   File "<string>", line 1, in <module>
38:   File "D:/a/1/s/tests/python/bl_keymap_completeness.py", line 90, in <module>
38:     main()
38:   File "D:/a/1/s/tests/python/bl_keymap_completeness.py", line 80, in main
38:     err = check_maps()
38:   File "D:/a/1/s/tests/python/bl_keymap_completeness.py", line 52, in check_maps
38:     for km_id in sorted(test):
38: TypeError: '<' not supported between instances of 'function' and 'function'
38: Keymaps that are in 'bl_keymap_utils.keymap_hierarchy' but not blender
38: 
38: Blender quit
[HANDLER_OUTPUT] 
 38/103 Test  #38: script_load_keymap ..................
   Passed    1.15 sec```

Mac

2019-06-19T23:14:58.8907830Z Start 38: script_load_keymap
2019-06-19T23:14:58.8909090Z
2019-06-19T23:14:58.8909990Z 38: Test command: /Users/vsts/agent/2.153.2/work/1/s/build/bin/blender.app/Contents/MacOS/blender "--background" "-noaudio" "--factory-startup" "--python" "/Users/vsts/agent/2.153.2/work/1/s/tests/python/bl_keymap_completeness.py"
2019-06-19T23:14:58.8910100Z 38: Test timeout computed to be: 10000000
2019-06-19T23:14:58.9466020Z 38: Blender 2.80 (sub 74) (hash d30f72dfd8 built 2019-06-19 23:13:34)
2019-06-19T23:14:59.0865090Z 38: found bundled python: /Users/vsts/agent/2.153.2/work/1/s/build/bin/blender.app/Contents/Resources/2.80/python
2019-06-19T23:14:59.7974200Z 38: Traceback (most recent call last):
2019-06-19T23:14:59.7974580Z 38: File "/Users/vsts/agent/2.153.2/work/1/s/tests/python/bl_keymap_completeness.py", line 90, in
2019-06-19T23:14:59.7974830Z 38: main()
2019-06-19T23:14:59.7975000Z 38: File "/Users/vsts/agent/2.153.2/work/1/s/tests/python/bl_keymap_completeness.py", line 80, in main
2019-06-19T23:14:59.7975190Z 38: err = check_maps()
2019-06-19T23:14:59.7975270Z 38: File "/Users/vsts/agent/2.153.2/work/1/s/tests/python/bl_keymap_completeness.py", line 52, in check_maps
2019-06-19T23:14:59.7975320Z 38: for km_id in sorted(test):
2019-06-19T23:14:59.7976280Z 38: TypeError: '<' not supported between instances of 'function' and 'str'
2019-06-19T23:14:59.7976740Z 38: Keymaps that are in 'bl_keymap_utils.keymap_hierarchy' but not blender
2019-06-19T23:14:59.8211820Z 38:
2019-06-19T23:14:59.8212080Z 38: Blender quit
2019-06-19T23:14:59.8264730Z 38/103 Test #38: script_load_keymap .................. Passed 0.94 sec


Linux

2019-06-19T22:40:21.3651709Z Start 38: script_load_keymap
2019-06-19T22:40:21.3651763Z
2019-06-19T22:40:21.3652247Z 38: Test command: /home/vsts/work/1/build/bin/blender "--background" "-noaudio" "--factory-startup" "--python" "/home/vsts/work/1/s/tests/python/bl_keymap_completeness.py"
2019-06-19T22:40:21.3652639Z 38: Test timeout computed to be: 10000000
2019-06-19T22:40:21.3853468Z 38: Blender 2.80 (sub 74) (hash d30f72dfd8 built 2019-06-19 22:31:01)
2019-06-19T22:40:21.4068327Z 38: found bundled python: /home/vsts/work/1/build/bin/2.80/python
2019-06-19T22:40:22.0448958Z 38: Traceback (most recent call last):
2019-06-19T22:40:22.0449067Z 38: File "/home/vsts/work/1/s/tests/python/bl_keymap_completeness.py", line 90, in
2019-06-19T22:40:22.0449108Z 38: main()
2019-06-19T22:40:22.0449150Z 38: File "/home/vsts/work/1/s/tests/python/bl_keymap_completeness.py", line 80, in main
2019-06-19T22:40:22.0449213Z 38: err = check_maps()
2019-06-19T22:40:22.0449255Z 38: File "/home/vsts/work/1/s/tests/python/bl_keymap_completeness.py", line 52, in check_maps
2019-06-19T22:40:22.0449294Z 38: for km_id in sorted(test):
2019-06-19T22:40:22.0450043Z 38: TypeError: '<' not supported between instances of 'function' and 'function'
2019-06-19T22:40:22.0450290Z 38: Keymaps that are in 'bl_keymap_utils.keymap_hierarchy' but not blender
2019-06-19T22:40:22.0677065Z 38:
2019-06-19T22:40:22.0677122Z 38: Blender quit
2019-06-19T22:40:22.0718362Z 38/103 Test #38: script_load_keymap .................. Passed 0.71 sec
2019-06-19T22:40:22.0720194Z test 39


bonus weirdness:
 
Win64 and Linux report 
> TypeError: '<' not supported between instances of 'function' and 'function'


while Mac and win32 report 
> TypeError: '<' not supported between instances of 'function' and 'str'


given all builds are of the identical commit and use identical versions of all deps, it's "kinda weird" 

**Exact steps for others to reproduce the error**

run the `script_load_keymap` test
**System Information** Operating system: verified Win32/Win64/Linux64/Mac didn't test Linux32 Graphics card: N/A **Blender Version** Broken: 2f77175fecc7 Worked: **Short description of error** `script_load_keymap` is passing on all platforms, however looking a little closer at the output, it really should not have passed by the looks of it. Windows ``` [HANDLER_OUTPUT] Start 38: script_load_keymap [HANDLER_VERBOSE_OUTPUT] 38: Test command: D:\a\1\build_windows_Release_x64_vc15_Release\bin\Release\blender.exe "--background" "-noaudio" "--factory-startup" "--python" "D:/a/1/s/tests/python/bl_keymap_completeness.py" 38: Test timeout computed to be: 10000000 38: Blender 2.80 (sub 74) (hash d30f72dfd8ac built Wed 06/19/2019 10:55 PM) 38: Unable to create directory C:\Users\VssAdministrator/.thumbnails/large/ 38: Unable to create directory C:\Users\VssAdministrator/.thumbnails/fail/blender/ 38: found bundled python: D:\a\1\build_windows_Release_x64_vc15_Release\bin\Release\2.80\python 38: Traceback (most recent call last): 38: File "<string>", line 1, in <module> 38: File "D:/a/1/s/tests/python/bl_keymap_completeness.py", line 90, in <module> 38: main() 38: File "D:/a/1/s/tests/python/bl_keymap_completeness.py", line 80, in main 38: err = check_maps() 38: File "D:/a/1/s/tests/python/bl_keymap_completeness.py", line 52, in check_maps 38: for km_id in sorted(test): 38: TypeError: '<' not supported between instances of 'function' and 'function' 38: Keymaps that are in 'bl_keymap_utils.keymap_hierarchy' but not blender 38: 38: Blender quit [HANDLER_OUTPUT] 38/103 Test #38: script_load_keymap .................. Passed 1.15 sec``` Mac ``` 2019-06-19T23:14:58.8907830Z Start 38: script_load_keymap 2019-06-19T23:14:58.8909090Z 2019-06-19T23:14:58.8909990Z 38: Test command: /Users/vsts/agent/2.153.2/work/1/s/build/bin/blender.app/Contents/MacOS/blender "--background" "-noaudio" "--factory-startup" "--python" "/Users/vsts/agent/2.153.2/work/1/s/tests/python/bl_keymap_completeness.py" 2019-06-19T23:14:58.8910100Z 38: Test timeout computed to be: 10000000 2019-06-19T23:14:58.9466020Z 38: Blender 2.80 (sub 74) (hash d30f72dfd8ac built 2019-06-19 23:13:34) 2019-06-19T23:14:59.0865090Z 38: found bundled python: /Users/vsts/agent/2.153.2/work/1/s/build/bin/blender.app/Contents/Resources/2.80/python 2019-06-19T23:14:59.7974200Z 38: Traceback (most recent call last): 2019-06-19T23:14:59.7974580Z 38: File "/Users/vsts/agent/2.153.2/work/1/s/tests/python/bl_keymap_completeness.py", line 90, in <module> 2019-06-19T23:14:59.7974830Z 38: main() 2019-06-19T23:14:59.7975000Z 38: File "/Users/vsts/agent/2.153.2/work/1/s/tests/python/bl_keymap_completeness.py", line 80, in main 2019-06-19T23:14:59.7975190Z 38: err = check_maps() 2019-06-19T23:14:59.7975270Z 38: File "/Users/vsts/agent/2.153.2/work/1/s/tests/python/bl_keymap_completeness.py", line 52, in check_maps 2019-06-19T23:14:59.7975320Z 38: for km_id in sorted(test): 2019-06-19T23:14:59.7976280Z 38: TypeError: '<' not supported between instances of 'function' and 'str' 2019-06-19T23:14:59.7976740Z 38: Keymaps that are in 'bl_keymap_utils.keymap_hierarchy' but not blender 2019-06-19T23:14:59.8211820Z 38: 2019-06-19T23:14:59.8212080Z 38: Blender quit 2019-06-19T23:14:59.8264730Z 38/103 Test #38: script_load_keymap .................. Passed 0.94 sec ``` Linux ``` 2019-06-19T22:40:21.3651709Z Start 38: script_load_keymap 2019-06-19T22:40:21.3651763Z 2019-06-19T22:40:21.3652247Z 38: Test command: /home/vsts/work/1/build/bin/blender "--background" "-noaudio" "--factory-startup" "--python" "/home/vsts/work/1/s/tests/python/bl_keymap_completeness.py" 2019-06-19T22:40:21.3652639Z 38: Test timeout computed to be: 10000000 2019-06-19T22:40:21.3853468Z 38: Blender 2.80 (sub 74) (hash d30f72dfd8ac built 2019-06-19 22:31:01) 2019-06-19T22:40:21.4068327Z 38: found bundled python: /home/vsts/work/1/build/bin/2.80/python 2019-06-19T22:40:22.0448958Z 38: Traceback (most recent call last): 2019-06-19T22:40:22.0449067Z 38: File "/home/vsts/work/1/s/tests/python/bl_keymap_completeness.py", line 90, in <module> 2019-06-19T22:40:22.0449108Z 38: main() 2019-06-19T22:40:22.0449150Z 38: File "/home/vsts/work/1/s/tests/python/bl_keymap_completeness.py", line 80, in main 2019-06-19T22:40:22.0449213Z 38: err = check_maps() 2019-06-19T22:40:22.0449255Z 38: File "/home/vsts/work/1/s/tests/python/bl_keymap_completeness.py", line 52, in check_maps 2019-06-19T22:40:22.0449294Z 38: for km_id in sorted(test): 2019-06-19T22:40:22.0450043Z 38: TypeError: '<' not supported between instances of 'function' and 'function' 2019-06-19T22:40:22.0450290Z 38: Keymaps that are in 'bl_keymap_utils.keymap_hierarchy' but not blender 2019-06-19T22:40:22.0677065Z 38: 2019-06-19T22:40:22.0677122Z 38: Blender quit 2019-06-19T22:40:22.0718362Z 38/103 Test #38: script_load_keymap .................. Passed 0.71 sec 2019-06-19T22:40:22.0720194Z test 39 ``` bonus weirdness: Win64 and Linux report > TypeError: '<' not supported between instances of 'function' and 'function' while Mac and win32 report > TypeError: '<' not supported between instances of 'function' and 'str' given all builds are of the identical commit and use identical versions of all deps, it's "kinda weird" **Exact steps for others to reproduce the error** run the `script_load_keymap` test
Author
Member

Added subscriber: @LazyDodo

Added subscriber: @LazyDodo
Bastien Montagne was assigned by Brecht Van Lommel 2019-06-21 12:26:08 +02:00

I would suspect differences between win64/linux and win32/osx are glitches due to differences in ordering in some container (dict/set), or something like that.

Issue itself is most certainly thanks to tools, which can have functions instead of 'static data' keymaps iirc…

I would suspect differences between win64/linux and win32/osx are glitches due to differences in ordering in some container (dict/set), or something like that. Issue itself is most certainly thanks to tools, which can have functions instead of 'static data' keymaps iirc…

Added subscriber: @ideasman42

Added subscriber: @ideasman42

Fix things to make test actually fail as expected. Beyond that point, we need @ideasman42… Am not even sure that test makes that much sense anymore tbh, given how gizmos and tools keymaps have some complex, dynamic handling…

Some errors reported here are fixable by merely adding missing entries in keymap_hierarchy.py, but for others, I don’t know. Also why some of the gizmo keymaps are not reported and others are is a mystery to me. :/

Fix things to make test actually fail as expected. Beyond that point, we need @ideasman42… Am not even sure that test makes that much sense anymore tbh, given how gizmos and tools keymaps have some complex, dynamic handling… Some errors reported here are fixable by merely adding missing entries in `keymap_hierarchy.py`, but for others, I don’t know. Also why some of the gizmo keymaps are not reported and others are is a mystery to me. :/
Bastien Montagne removed their assignment 2019-06-25 16:14:46 +02:00
Campbell Barton was assigned by Bastien Montagne 2019-06-25 16:14:46 +02:00

Added subscriber: @mont29

Added subscriber: @mont29

This issue was referenced by d7d9320f09

This issue was referenced by d7d9320f09e0f9f53c50f63a1f10984c2c1eaafe
Brecht Van Lommel changed title from Ctest: Failing test script_load_keymap passes to Tests: fix script_load_keymap hierarchy test 2019-07-03 16:35:22 +02:00
Campbell Barton was unassigned by Dalai Felinto 2019-12-23 16:34:04 +01:00
Philipp Oeser removed the
Interest
Platforms, Builds & Tests
label 2023-02-10 08:58:26 +01:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#65963
No description provided.