1. Option to choose between "performance benchmark" (your current implementation) and "full benchmark" which runs all psychopy tests in addition? A very rough first implementation of the latter would simply plot the output from run.py in a single cell called "results from thorough test". But it might be possible to pick out problems more specifically like: "incorrect rendering using visual.TextStim in visual.Window in TestPygletNormNoShaders mode"
2. Option to generate two report types: "full report" (your current approach) and "error report" (only results which needs attention: fails and outside-desired-range)
Hi Jonas,Thanks for the encouraging words, and even more for testing it out!From this, we now have people testing on mac, windows, and linux, which is good to know.1. Option to choose between "performance benchmark" (your current implementation) and "full benchmark" which runs all psychopy tests in addition? A very rough first implementation of the latter would simply plot the output from run.py in a single cell called "results from thorough test". But it might be possible to pick out problems more specifically like: "incorrect rendering using visual.TextStim in visual.Window in TestPygletNormNoShaders mode"
I see these as being conceptually rather different, although they do indeed have some overlap. I see the performance benchmarks as being a test of the hardware, whereas the psychopy tests are less about performance and more about the integrity of the psychopy code base. So for now I think they are best kept separate.
2. Option to generate two report types: "full report" (your current approach) and "error report" (only results which needs attention: fails and outside-desired-range)interesting suggestion, I'll have to think about this. there maybe be things we can do with the html part, like have a button to hide or show different parts of the report. so it could show only critical things by default but with a single click you can reveal all the configuration info.
<button onClick="document.getElementById("ok").style.display = 'none';">Only show errors/warnings</button><button onClick="document.getElementById("ok").style.display = '';">Show all information</button>
<table><tr id="error"><td>Result 1</td><td>I'm an error!</td></tr><tr id="ok"><td>Result 2</td><td>I'm a succes!</td></tr></table>
I just submitted results from another Ubuntu computer :-) I like the fact that only one of six benchmarks is from a windows computer.
1. Option to choose between "performance benchmark" (your current implementation) and "full benchmark" which runs all psychopy tests in addition? A very rough first implementation of the latter would simply plot the output from run.py in a single cell called "results from thorough test". But it might be possible to pick out problems more specifically like: "incorrect rendering using visual.TextStim in visual.Window in TestPygletNormNoShaders mode"
I see these as being conceptually rather different, although they do indeed have some overlap. I see the performance benchmarks as being a test of the hardware, whereas the psychopy tests are less about performance and more about the integrity of the psychopy code base. So for now I think they are best kept separate.Testing performance and tests together would answer the question: "Does psychopy work as expected on this system?". My suggestion actually stems from a few use cases: I coded a few experiments for my students. It turned out that they ran them from their laptops (never a good idea, I know...) and neither frame-syncing nor opacity was handled correctly. Running a full test would've made it obvious whether these laptops were adequate. I guess this is a common use case as you would want to run such a test on all systems where you collect data.
This is just on a "nice to have" list without being on the essentials-list :-)
2. Option to generate two report types: "full report" (your current approach) and "error report" (only results which needs attention: fails and outside-desired-range)interesting suggestion, I'll have to think about this. there maybe be things we can do with the html part, like have a button to hide or show different parts of the report. so it could show only critical things by default but with a single click you can reveal all the configuration info.Oh yes, that's a nice idea. You could hide table rows by id like this (not tested):<button onClick="document.getElementById("ok").style.display = 'none';">Only show errors/warnings</button><button onClick="document.getElementById("ok").style.display = '';">Show all information</button><table><tr id="error"><td>Result 1</td><td>I'm an error!</td></tr><tr id="ok"><td>Result 2</td><td>I'm a succes!</td></tr></table>
I just submitted results from another Ubuntu computer :-) I like the fact that only one of six benchmarks is from a windows computer.enjoy it while it lasts :-)1. Option to choose between "performance benchmark" (your current implementation) and "full benchmark" which runs all psychopy tests in addition? A very rough first implementation of the latter would simply plot the output from run.py in a single cell called "results from thorough test". But it might be possible to pick out problems more specifically like: "incorrect rendering using visual.TextStim in visual.Window in TestPygletNormNoShaders mode"
I see these as being conceptually rather different, although they do indeed have some overlap. I see the performance benchmarks as being a test of the hardware, whereas the psychopy tests are less about performance and more about the integrity of the psychopy code base. So for now I think they are best kept separate.Testing performance and tests together would answer the question: "Does psychopy work as expected on this system?". My suggestion actually stems from a few use cases: I coded a few experiments for my students. It turned out that they ran them from their laptops (never a good idea, I know...) and neither frame-syncing nor opacity was handled correctly. Running a full test would've made it obvious whether these laptops were adequate. I guess this is a common use case as you would want to run such a test on all systems where you collect data.I think its a great idea to try to leverage existing tests, and use them for benchmarking. I had not appreciated this completely. I'll keep this in mind. Some things like frame-syncing are tested already, and some are not (like opacity), and some probably should not be tested as part of benchmarking (like testApp tests).
This is just on a "nice to have" list without being on the essentials-list :-)I agree2. Option to generate two report types: "full report" (your current approach) and "error report" (only results which needs attention: fails and outside-desired-range)interesting suggestion, I'll have to think about this. there maybe be things we can do with the html part, like have a button to hide or show different parts of the report. so it could show only critical things by default but with a single click you can reveal all the configuration info.Oh yes, that's a nice idea. You could hide table rows by id like this (not tested):<button onClick="document.getElementById("ok").style.display = 'none';">Only show errors/warnings</button><button onClick="document.getElementById("ok").style.display = '';">Show all information</button><table><tr id="error"><td>Result 1</td><td>I'm an error!</td></tr><tr id="ok"><td>Result 2</td><td>I'm a succes!</td></tr></table>interesting! however it seems like a multiline table will require more something more, including unique id's per row, and a way to hide them all.
--Jeremy