rendercheck test will pass without rendercheck installed
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| Checkbox |
Fix Released
|
Medium
|
Jeff Lane |
Bug Description
checkbox 0.15+bzr1867+
checkbox-
checkbox-ihv 0.3~ppa4.12.04
checkbox-
I ran rendercheck test without rendercheck installed,
The result is PASS with note
"Rendercheck completed. But there are errors. Please check /home/u/
But the log file was not even exist. So no further info for tester to check.
Related branches
- Daniel Manrique: Approve on 2013-01-23
-
Diff: 47 lines (+6/-2)3 files modifieddebian/changelog (+4/-1)
jobs/rendercheck.txt.in (+1/-1)
scripts/rendercheck_test (+1/-0)
Changed in checkbox: | |
status: | New → Confirmed |
assignee: | nobody → Jeff Lane (bladernr) |
Daniel Manrique (roadmr) wrote : | #2 |
Hi!
See bug https:/
The job is defined as follows:
rendercheck_test -d -o $CHECKBOX_
"Rendercheck tests completed successfully" || echo "Rendercheck completed, but
there are errors. Please see the log $CHECKBOX_
details"
So the message you're seeing indicates "rendercheck_test" exited with failure. I'd like to ask you to run "/usr/share/
I suspect that, since rendercheck is not present, we're running into something similar to this: https:/
Anyway, remains as incomplete pending Jeffrey's running of rendercheck_test.
Jeff Lane (bladernr) wrote : | #3 |
Ahhh, I recall now... with Precise, you need to have the following PPA installed:
http://
when we added this test for the original Bender sprint, it was done with the understanding that for Quantal this would work fine, but for Precise you'd need the piglit PPA to get rendercheck unless/until it was backported into Precise.
I would suggest getting the team to work on backporting rendercheck into x11-apps for precise.
Jeff Lane (bladernr) wrote : | #4 |
wonder, would it be good enough to do something as simple as this:
which rendercheck && rendercheck_test <OPTS> && echo "Succeess message" || echo "Failure message"
Though that's a kludge workaround and I really don't like it. I would rather that HWE gets rendercheck backported into x11-apps
Daniel Manrique (roadmr) wrote : | #5 |
rendercheck_test properly tests for the binary and reports its absence if that's the case. Problem is, it gets reported to stderr, which is why Jeffrey was unable to find a message.
rendercheck_test <OPTS> 2>&1 && echo "success" || echo "failure" would at least capture stderr in the log file, easing debugging of this kind of issue. Beware, this bears testing, to quote Knuth "I have only proved it correct, not tried it".
I agree that the final solution is to ensure rendercheck is present. For checkbox-ihv purposes, we can feed a custom PPA for it to fetch packages, and we'd have to ensure that proper dependencies are in place so that installing checkbox-
Jeff Lane (bladernr) wrote : | #6 |
So really, the root problem lies here:
try:
# Let's dump the output into file as it can be very large
# and we don't want to store it in memory
process = Popen(full_command, stdout=temp_file,
except OSError as exc:
if exc.errno == errno.ENOENT:
else:
Problem is, if I read that correctly, assuming Jeffrey's case is correct and rendercheck is not present, it "should" throw ENOENT (doesn't exist) and log a message and exit with a 1.
So logging.error, IIRC logs to wherever the logger is suppose to log, file or stdout, logging.error isn't internally redirected to stderr.
Second, it should exit with a 1, which should trigger the fail message, not a pass based on this command in the job description:
command: rendercheck_test -d -o $CHECKBOX_
which gives me this when I move the rendercheck tool:
bladernr@
/usr/bin/
bladernr@
[sudo] password for bladernr:
bladernr@
bladernr@
Traceback (most recent call last):
File "./scripts/
stderr=PIPE, universal_
File "/usr/lib/
restore_
File "/usr/lib/
raise child_exception
OSError: [Errno 2] No such file or directory: 'rendercheck'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./scripts/
main()
File "./scripts/
all_tests = RenderCheck(
File "./scripts/
if exc.errno == errno.ENOENT:
NameError: global name 'errno' is not defined
Jeff Lane (bladernr) wrote : | #7 |
Which is very quickly fixed by importing errno which was not caught originally. Patch incoming.
bladernr@
ERROR:root:Error: please make sure that rendercheck is installed.
Changed in checkbox: | |
status: | Incomplete → In Progress |
Changed in checkbox: | |
status: | In Progress → Fix Committed |
importance: | Undecided → Medium |
Jeff Lane (bladernr) wrote : | #8 |
One last thing to fix, I think because the command as listed still will return an incorrect code.
bladernr@
True
bladernr@
0
bladernr@
False
bladernr@
1
so this should work:
( command && echo "Success" ) || ( echo "Failure" && false )
Jeff Lane (bladernr) wrote : | #9 |
Yep.
bladernr@
rendercheck_test: command not found
Error running rendercheck. Please see the log /rendercheck-
bladernr@
1
Changed in checkbox: | |
status: | Fix Committed → Fix Released |
The job for rendercheck should only run if the x11-apps package is installed.
Can you verify that rendercheck is indeed NOT installed on your system?
Also, can you check and see if rendercheck is no longer part of x11-apps but perhaps moved to a different package.
Finally, do you have submitted results showing this issue (the results will also contain a list of installed packages which is what I'm interested in here).
FYI:
plugin: shell
name: rendercheck/tests
requires:
package.name == 'x11-apps'