yellow team mailing list archive
-
yellow team
-
Mailing list archive
-
Message #00594
handoff etc.
- Clint agreed to take over packaging of our charm helpers stuff, so gmb
is off the hook.
- Benji is pretty confident that he's reduced our failing bug count from
~2800 to ~200, with
https://code.launchpad.net/~benji/launchpad/bug-954319
<https://code.launchpad.net/%7Ebenji/launchpad/bug-954319> . Yay! I
started an ec2 instance to land this. It should have landed by 0800 UTC
Thursday, or failed.
- When trying to verify Benji's fix and frankban's testr fix, I went
down an unpleasantly long rabbit hole that I eventually discovered was
because testr in precise and testr in head are significantly different.
You can still apply his basic idea, but copying over cli.py from his
branch is not advised.
It looks like the idea needs some tweaking. I got this traceback when I
ran the tests.
Warning: Permanently added '10.0.3.224' (RSA) to the list of known hosts.
Exception in thread Thread-1:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 504, in run
self.__target(*self.__args, **self.__kwargs)
File "/usr/lib/python2.7/dist-packages/testtools/testsuite.py", line 85, in _run_test
test.run(process_result)
File "/usr/lib/python2.7/dist-packages/subunit/__init__.py", line 1149, in run
protocol.lineReceived(line)
File "/usr/lib/python2.7/dist-packages/subunit/__init__.py", line 548, in lineReceived
self._state.lineReceived(line)
File "/usr/lib/python2.7/dist-packages/subunit/__init__.py", line 385, in lineReceived
self.details_parser.lineReceived(line)
File "/usr/lib/python2.7/dist-packages/subunit/details.py", line 119, in lineReceived
self._parse_state(line)
File "/usr/lib/python2.7/dist-packages/subunit/details.py", line 84, in _look_for_content
self._state.endDetails()
File "/usr/lib/python2.7/dist-packages/subunit/__init__.py", line 380, in endDetails
self._report_outcome()
File "/usr/lib/python2.7/dist-packages/subunit/__init__.py", line 411, in _report_outcome
details=self.details_parser.get_details())
File "/usr/lib/python2.7/dist-packages/testtools/testresult/real.py", line 517, in addFailure
return self.decorated.addFailure(test, err)
File "/usr/lib/python2.7/dist-packages/testtools/testresult/real.py", line 405, in addFailure
test, err, details=details)
File "/usr/lib/python2.7/dist-packages/testtools/testresult/real.py", line 387, in _add_result_with_semaphore
self.result.stopTest(test)
File "/usr/lib/python2.7/dist-packages/testtools/testresult/real.py", line 603, in stopTest
return self.decorated.stopTest(test)
File "/usr/lib/python2.7/dist-packages/testtools/testresult/real.py", line 237, in stopTest
return self._dispatch('stopTest', test)
File "/usr/lib/python2.7/dist-packages/testtools/testresult/real.py", line 231, in _dispatch
for result in self._results)
File "/usr/lib/python2.7/dist-packages/testtools/testresult/real.py", line 231, in<genexpr>
for result in self._results)
File "/usr/lib/python2.7/dist-packages/testtools/testresult/real.py", line 603, in stopTest
return self.decorated.stopTest(test)
File "/usr/lib/python2.7/dist-packages/subunit/test_results.py", line 417, in stopTest
getattr(self.decorated, method)(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/subunit/test_results.py", line 125, in addFailure
return self.super.addFailure(test, err, details=details)
File "/usr/lib/python2.7/dist-packages/subunit/test_results.py", line 58, in addFailure
return self.decorated.addFailure(test, err, details=details)
File "/usr/lib/python2.7/dist-packages/testtools/testresult/real.py", line 517, in addFailure
return self.decorated.addFailure(test, err)
File "/usr/lib/python2.7/dist-packages/subunit/test_results.py", line 58, in addFailure
return self.decorated.addFailure(test, err, details=details)
File "/usr/lib/python2.7/dist-packages/testtools/testresult/real.py", line 517, in addFailure
return self.decorated.addFailure(test, err)
File "/usr/lib/python2.7/dist-packages/testtools/testresult/real.py", line 517, in addFailure
return self.decorated.addFailure(test, err)
File "/usr/lib/python2.7/dist-packages/testrepository/ui/cli.py", line 50, in addFailure
self.stream.write(self._format_error(u'FAIL', *(self.failures[-1])))
File "/usr/lib/python2.7/dist-packages/testrepository/ui/cli.py", line 42, in _format_error
]).encode(encoding, 'replace')
TypeError: encode() argument 1 must be string, not None
String or Integer object expected for key, unicode found
That suggests I got the patch wrong...here's what _format_error looks
like in the version I ran:
def _format_error(self, label, test, error_text):
encoding = getattr(self.stream, 'encoding', 'utf-8')
return u''.join([
self.sep1,
u'%s: %s\n' % (label, test.id()),
self.sep2,
error_text,
]).encode(encoding, 'replace')
So...I guess encoding was explicitly None, and the code needs to be on
the order of "getattr(self.stream, 'encoding', None) or 'utf-8'"?
I don't know what that "String or Integer object expected for key,
unicode found" means--or, more accurately, what raised it. Probably
unrelated.
After that stderr, I found this stdout text, which appeared well after
the tests started:
running=sudo /usr/local/bin/launchpad-lxc-test
Setting up ephemeral container...
Starting up the container...
No handlers could be found for logger "bzr"
No handlers could be found for logger "amqplib"
No handlers could be found for logger "amqplib"
Did something restart? :-/ Not sure what that means. When I looked at
ps, there was only one test process running.
- All of the above means we *still* need to get a buildbot running
again, ideally with a fix for that unicode issue. (OTOH, the unicode
issue may no longer be triggered, once we have Benji's branch? The odds
are good....)
- I suspect this is entirely in line with what Francesco told us about
the resolv.conf issues, but in case it helps, locally I got this warning
when I started an lxc container (as set up by setuplxc):
/etc/resolvconf/update.d/libc: Warning: /etc/resolv.conf is not a
symbolic link to /etc/resolvconf/run/resolv.conf
- I added a new card for missing tests--the Javascript layer tests.
They failed for me when I ran tests using --load-list. Layer problems
don't show up in testr's output for this, but I don't yet have
confidence in testr as a tool in this regard. I worry that in fact the
tests are not being run.
OK, I need to stop. Talk to you all tomorrow
Gary
Follow ups