- CIPHERLIST_TEST_FIXTURE fixture;
- fixture.test_case_name = test_case_name;
- fixture.server = SSL_CTX_new(TLS_server_method());
- fixture.client = SSL_CTX_new(TLS_client_method());
- OPENSSL_assert(fixture.client != NULL && fixture.server != NULL);
+ if (fixture != NULL) {
+ SSL_CTX_free(fixture->server);
+ SSL_CTX_free(fixture->client);
+ fixture->server = fixture->client = NULL;
+ OPENSSL_free(fixture);
+ }
+}
+
+static CIPHERLIST_TEST_FIXTURE *set_up(const char *const test_case_name)
+{
+ CIPHERLIST_TEST_FIXTURE *fixture;
+
+ if (!TEST_ptr(fixture = OPENSSL_zalloc(sizeof(*fixture))))
+ return NULL;
+ fixture->test_case_name = test_case_name;
+ if (!TEST_ptr(fixture->server = SSL_CTX_new(TLS_server_method()))
+ || !TEST_ptr(fixture->client = SSL_CTX_new(TLS_client_method()))) {
+ tear_down(fixture);
+ return NULL;
+ }