Merge lp://qastaging/~stewart/percona-xtrabackup/test-combinations into lp://qastaging/percona-xtrabackup/2.1
Status: | Rejected |
---|---|
Rejected by: | Alexey Kopytov |
Proposed branch: | lp://qastaging/~stewart/percona-xtrabackup/test-combinations |
Merge into: | lp://qastaging/percona-xtrabackup/2.1 |
Prerequisite: | lp://qastaging/~stewart/percona-xtrabackup/source-dist-refactor |
Diff against target: |
722 lines (+309/-95) 4 files modified
test/bootstrap.sh (+39/-62) test/inc/common.sh (+39/-1) test/testrun.c (+153/-14) test/testrun.sh (+78/-18) |
To merge this branch: | bzr merge lp://qastaging/~stewart/percona-xtrabackup/test-combinations |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Alexey Kopytov (community) | Disapprove | ||
Review via email: mp+171012@code.qastaging.launchpad.net |
Description of the change
This branch enables the Percona XtraBackup test suite to be run against multiple servers in one run - instead of having to have many build+test jobs in Jenkins per platform, you can have just one. I also fix the problem with trying to run the test suite from a binary tarball (produced by build-binary.sh). With this branch, you can build a source tarball, a binary tarball and then run the test suite against that binary tarball with all server versions we currently support.
I also improve testrun.sh execution time by about 5 seconds per invocation by caching the results of get_version_info() (using md5sum of mysqld as the key for the cache).
I also fix a long standing problem of testrun leaking files and reserved port numbers, finding a good solution that appears to work really quite well in my testing.
Most of the 5.6 related tests currently fail due to "libssl.so.0.9.8: cannot open shared object file: No such file or directory"
An example run is at:
http://
This branch depends on George's recent fixes and my source-
Unmerged revisions
- 623. By Stewart Smith
-
remove incorrect free of servers.path in testrun.c
- 622. By Stewart Smith
-
protect against any concurrent runs of testrun.sh clobbering each other badly in xb_version_
info_cache - 621. By Stewart Smith
-
cache get_version_info in testrun.sh in a xb_version_
info_cache/ directory with the md5sum of the mysqld binary being the filename with the cache. Even though md5 sucks, it should be okay for this purpose. - 620. By Stewart Smith
-
replace . with _ in server name in testrun.c as . is used as test suite delimiter by jenkins junit.xml ui
- 619. By Stewart Smith
-
redo how we free leftover sockets and ports in testrun. We now keep file (for port) and a symlink (for socket) in the var/ directory for each mysqld. In kill_leftovers we then properly clean these up.
- 618. By Stewart Smith
-
in get_version_info() stop the server earlier before there are any exit points so we don't leak running servers
- 617. By Stewart Smith
-
If running against MySQL 5.1, ensure we're using the plugin
- 616. By Stewart Smith
-
only use xtrabackup_innodb55 for innodb55 target if that binary exists.
- 615. By Stewart Smith
-
implement a cleanup_leftovers() function in common.sh that is called at end of a test rather than kill_leftovers so that we free the reserved TCP port for each still running mysqld.
- 614. By Stewart Smith
-
add an 'all' target to test/bootstrap.sh that will pull all the current server binaries for current architecture into servers/
Stewart,
What's the benefit of testing multiple servers in a single run?