From 2b5df3920c0a4a00b49e6f2e2b48effe5fe60aa3 Mon Sep 17 00:00:00 2001 From: Michihiro NAKAJIMA Date: Wed, 10 Sep 2014 07:29:06 +0900 Subject: [PATCH] Skip a test if the platform does not have cryptographic functionarity. --- ...d_format_zip_traditional_encryption_data.c | 13 ++++++++++ .../test/test_read_format_zip_winzip_aes.c | 13 ++++++++++ libarchive/test/test_write_format_zip.c | 24 ++++++++++++++----- 3 files changed, 44 insertions(+), 6 deletions(-) diff --git a/libarchive/test/test_read_format_zip_traditional_encryption_data.c b/libarchive/test/test_read_format_zip_traditional_encryption_data.c index 8234c6377..a0f033b0f 100644 --- a/libarchive/test/test_read_format_zip_traditional_encryption_data.c +++ b/libarchive/test/test_read_format_zip_traditional_encryption_data.c @@ -36,6 +36,19 @@ DEFINE_TEST(test_read_format_zip_traditional_encryption_data) struct archive *a; char buff[512]; + /* Check if running system has cryptographic functionarity. */ + assert((a = archive_write_new()) != NULL); + assertEqualIntA(a, ARCHIVE_OK, archive_write_set_format_zip(a)); + assertEqualIntA(a, ARCHIVE_OK, archive_write_add_filter_none(a)); + if (ARCHIVE_OK != archive_write_set_options(a, + "zip:encryption=traditional")) { + skipping("This system does not have cryptographic liberary"); + archive_write_free(a); + return; + } + archive_write_free(a); + + extract_reference_file(refname); /* diff --git a/libarchive/test/test_read_format_zip_winzip_aes.c b/libarchive/test/test_read_format_zip_winzip_aes.c index 67284168c..61e64b643 100644 --- a/libarchive/test/test_read_format_zip_winzip_aes.c +++ b/libarchive/test/test_read_format_zip_winzip_aes.c @@ -33,6 +33,19 @@ test_winzip_aes(const char *refname) struct archive *a; char buff[512]; + /* Check if running system has cryptographic functionarity. */ + assert((a = archive_write_new()) != NULL); + assertEqualIntA(a, ARCHIVE_OK, archive_write_set_format_zip(a)); + assertEqualIntA(a, ARCHIVE_OK, archive_write_add_filter_none(a)); + if (ARCHIVE_OK != archive_write_set_options(a, + "zip:encryption=aes256")) { + skipping("This system does not have cryptographic liberary"); + archive_write_free(a); + return; + } + archive_write_free(a); + + extract_reference_file(refname); /* diff --git a/libarchive/test/test_write_format_zip.c b/libarchive/test/test_write_format_zip.c index ece1d4004..c080f6bc8 100644 --- a/libarchive/test/test_write_format_zip.c +++ b/libarchive/test/test_write_format_zip.c @@ -681,8 +681,12 @@ DEFINE_TEST(test_write_format_zip_traditional_pkware_encryption) assert((a = archive_write_new()) != NULL); assertEqualIntA(a, ARCHIVE_OK, archive_write_set_format_zip(a)); assertEqualIntA(a, ARCHIVE_OK, archive_write_add_filter_none(a)); - assertEqualIntA(a, ARCHIVE_OK, - archive_write_set_options(a, "zip:encryption=traditional")); + if (ARCHIVE_OK != archive_write_set_options(a, + "zip:encryption=traditional")) { + skipping("This system does not have cryptographic liberary"); + archive_write_free(a); + return; + } assertEqualIntA(a, ARCHIVE_OK, archive_write_set_options(a, "zip:password=password1234")); assertEqualIntA(a, ARCHIVE_OK, @@ -756,8 +760,12 @@ DEFINE_TEST(test_write_format_zip_winzip_aes128_encryption) assert((a = archive_write_new()) != NULL); assertEqualIntA(a, ARCHIVE_OK, archive_write_set_format_zip(a)); assertEqualIntA(a, ARCHIVE_OK, archive_write_add_filter_none(a)); - assertEqualIntA(a, ARCHIVE_OK, - archive_write_set_options(a, "zip:encryption=aes128")); + if (ARCHIVE_OK != archive_write_set_options(a, "zip:encryption=aes128")) + { + skipping("This system does not have cryptographic liberary"); + archive_write_free(a); + return; + } assertEqualIntA(a, ARCHIVE_OK, archive_write_set_options(a, "zip:password=password1234")); assertEqualIntA(a, ARCHIVE_OK, @@ -831,8 +839,12 @@ DEFINE_TEST(test_write_format_zip_winzip_aes256_encryption) assert((a = archive_write_new()) != NULL); assertEqualIntA(a, ARCHIVE_OK, archive_write_set_format_zip(a)); assertEqualIntA(a, ARCHIVE_OK, archive_write_add_filter_none(a)); - assertEqualIntA(a, ARCHIVE_OK, - archive_write_set_options(a, "zip:encryption=aes256")); + if (ARCHIVE_OK != archive_write_set_options(a, "zip:encryption=aes256")) + { + skipping("This system does not have cryptographic liberary"); + archive_write_free(a); + return; + } assertEqualIntA(a, ARCHIVE_OK, archive_write_set_options(a, "zip:password=password1234")); assertEqualIntA(a, ARCHIVE_OK, -- 2.47.2