Excerpts from Amit Saha's message of 2015-03-02 10:42 +10:00:
----- Original Message -----
> From: "Jaroslav Kortus" <jkortus(a)redhat.com>
> To: "Beaker development" <beaker-devel(a)lists.fedorahosted.org>
> Sent: Saturday, February 28, 2015 7:00:07 AM
> Subject: [Beaker-devel] Integration Tests results
>
> or:
> FAIL: test_all_tables_use_innodb
> (bkr.inttest.server.test_model.SchemaSanityTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File
>
"/root/beaker-private/IntegrationTests/src/bkr/inttest/server/test_model.py",
> line
> 55, in test_all_tables_use_innodb
> table), 'InnoDB')
> AssertionError: u'MyISAM' != 'InnoDB'
>
> I've not created any new tables there (only added columns to existing
> tables). So how can
> this happen?
Sorry, not sure what you mean by that. Beaker uses the InnoDB storage engine, so
MariaDB/MySQL
should be configured appropriately [1].
[1]
https://beaker-project.org/dev/guide/getting-started.html
This is a strange failure. You don't actually need to set
default-storage-engine=INNODB, that's just a convenience in case you
create a table by hand during development. Beaker always explicitly
requests InnoDB as the storage engine when it creates all tables. That
test case is just to catch situations where we add a new table and
forget to set mysql_engine='InnoDB' in the table definition.
If you are seeing it fail (and you haven't added any tables) then it
means MySQL is silently ignoring the requested storage engine type. This
might happen if you have somehow got a MySQL server without the InnoDB
engine compiled in? The mysql-server package in RHEL6 works out of the
box, are you using something different?
> PS: are the results saved somewhere or is stdout the only
option?
> "--debug-log" looks more
> like the framework debugging than the actual tests' debug output...
I think stdout is the only option.
Nose doesn't have any options to save the test output anywhere. There
might be plugins which can produce more readable output if you have
a large number of failures.
The --debug and --debug-log options refer to nose's own debugging which
is not useful.
Bear in mind that there is two sources of messages in Beaker's tests:
stdout, which has the output of all inferior processes (this includes
the access logs and Beaker debug logs produced by the server under
test), and the log subsystem, which has debug logs produced by the test
cases *and* the Beaker code invoked by the test cases directly.
Both stdout and logging are captured by nose and both are displayed
(non-interleaved) on failures. There are two separate options to disable
nose's capturing: -s (--nocapture) disables stdout capturing,
--nologcapture disables log capturing. But nose already displays both of
those on failures so there is not really any reason to disable the
capturing, unless you suspect that some setup in a successful test case
is causing a failure in a subsequent test case.
Basically if you just pastebin the entire output of the nose run we
should be able to see what is going wrong.
--
Dan Callaghan <dcallagh(a)redhat.com>
Software Engineer, Hosted & Shared Services
Red Hat, Inc.