[PATCH 00/18] tests: introduce testing coverage for TLS with migration

Daniel P. Berrangé posted 18 patches 2 years, 2 months ago
Test checkpatch passed
Failed in applying to current master (apply log)
Maintainers: "Daniel P. Berrangé" <berrange@redhat.com>, Juan Quintela <quintela@redhat.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>, Thomas Huth <thuth@redhat.com>, Laurent Vivier <lvivier@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
There is a newer version of this series
crypto/tlssession.c                  |    6 +
meson.build                          |    1 +
migration/tls.c                      |    4 -
tests/qtest/libqtest.c               |   11 +-
tests/qtest/meson.build              |   12 +-
tests/qtest/migration-helpers.c      |   13 +
tests/qtest/migration-helpers.h      |    1 +
tests/qtest/migration-test.c         | 1041 +++++++++++++++++++++-----
tests/unit/crypto-tls-psk-helpers.c  |   20 +-
tests/unit/crypto-tls-psk-helpers.h  |    1 +
tests/unit/crypto-tls-x509-helpers.c |   16 +-
tests/unit/crypto-tls-x509-helpers.h |   53 ++
tests/unit/test-crypto-tlssession.c  |   11 +-
13 files changed, 1004 insertions(+), 186 deletions(-)
[PATCH 00/18] tests: introduce testing coverage for TLS with migration
Posted by Daniel P. Berrangé 2 years, 2 months ago
This significantly expands the migration test suite to cover testing
with TLS over TCP and UNIX sockets, with both PSK (pre shared keys)
and x509 credentials, and for both single and multifd scenarios.

It identified one bug in handling PSK credentials with UNIX sockets,
but other than that everything was operating as expected.

To minimize the impact on code duplication alopt of refactoring is
done of the migration tests to introduce a common helper for running
the migration process. The various tests mostly just have to provide
a callback to set a few parameters/capabilities before migration
starts, and sometimes a callback to cleanup or validate after
completion/failure.

Daniel P. Berrangé (18):
  tests: fix encoding of IP addresses in x509 certs
  tests: improve error message when saving TLS PSK file fails
  tests: support QTEST_TRACE env variable
  tests: print newline after QMP response in qtest logs
  tests: add more helper macros for creating TLS x509 certs
  crypto: mandate a hostname when checking x509 creds on a client
  migration: fix use of TLS PSK credentials with a UNIX socket
  tests: merge code for UNIX and TCP migration pre-copy tests
  tests: introduce ability to provide hooks for migration precopy test
  tests: switch migration FD passing test to use common precopy helper
  tests: expand the migration precopy helper to support failures
  tests: add migration tests of TLS with PSK credentials
  tests: add migration tests of TLS with x509 credentials
  tests: convert XBZRLE migration test to use common helper
  tests: convert multifd migration tests to use common helper
  tests: add multifd migration tests of TLS with PSK credentials
  tests: add multifd migration tests of TLS with x509 credentials
  tests: ensure migration status isn't reported as failed

 crypto/tlssession.c                  |    6 +
 meson.build                          |    1 +
 migration/tls.c                      |    4 -
 tests/qtest/libqtest.c               |   11 +-
 tests/qtest/meson.build              |   12 +-
 tests/qtest/migration-helpers.c      |   13 +
 tests/qtest/migration-helpers.h      |    1 +
 tests/qtest/migration-test.c         | 1041 +++++++++++++++++++++-----
 tests/unit/crypto-tls-psk-helpers.c  |   20 +-
 tests/unit/crypto-tls-psk-helpers.h  |    1 +
 tests/unit/crypto-tls-x509-helpers.c |   16 +-
 tests/unit/crypto-tls-x509-helpers.h |   53 ++
 tests/unit/test-crypto-tlssession.c  |   11 +-
 13 files changed, 1004 insertions(+), 186 deletions(-)

-- 
2.34.1