Port to CUnit version 2
Linux distributions like openSUSE 12.3 include CUnit version 2. Apparently libiscsi uses some CUnit version 1 data structures that have been modified in CUnit version 2. This causes the libiscsi build to fail against CUnit version 2. Fix this by detecting the CUnit version during the configure step. Signed-off-by: Bart Van Assche <bvanassche@acm.org>
This commit is contained in:
committed by
Ronnie Sahlberg
parent
766d92221c
commit
bd948c959e
@@ -111,5 +111,14 @@ fi
|
|||||||
AM_CONDITIONAL(ISCSITEST, [test "$ac_cv_have_cunit" = yes])
|
AM_CONDITIONAL(ISCSITEST, [test "$ac_cv_have_cunit" = yes])
|
||||||
|
|
||||||
|
|
||||||
|
AC_CHECK_MEMBER([struct CU_SuiteInfo.pSetUpFunc],
|
||||||
|
[AC_DEFINE([HAVE_CU_SUITEINFO_PSETUPFUNC], 1,
|
||||||
|
[Define to 1 if struct CU_SuiteInfo has a member called pSetUpFunc])],
|
||||||
|
[], [[
|
||||||
|
#include <CUnit/CUnit.h>
|
||||||
|
#include <CUnit/TestDB.h>
|
||||||
|
]])
|
||||||
|
|
||||||
|
|
||||||
AC_CONFIG_FILES(Makefile libiscsi.pc)
|
AC_CONFIG_FILES(Makefile libiscsi.pc)
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|||||||
@@ -396,86 +396,92 @@ static CU_TestInfo tests_writeverify16[] = {
|
|||||||
CU_TEST_INFO_NULL
|
CU_TEST_INFO_NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
typedef struct libiscsi_suite_info {
|
||||||
|
const char *pName; /**< Suite name. */
|
||||||
|
CU_InitializeFunc pInitFunc; /**< Suite initialization function. */
|
||||||
|
CU_CleanupFunc pCleanupFunc; /**< Suite cleanup function */
|
||||||
|
CU_TestInfo *pTests; /**< Test case array - must be NULL terminated. */
|
||||||
|
} libiscsi_suite_info;
|
||||||
|
|
||||||
/* SCSI protocol tests */
|
/* SCSI protocol tests */
|
||||||
static CU_SuiteInfo scsi_suites[] = {
|
static libiscsi_suite_info scsi_suites[] = {
|
||||||
{ (char *)"CompareAndWrite", test_setup, test_teardown,
|
{ "CompareAndWrite", test_setup, test_teardown,
|
||||||
tests_compareandwrite },
|
tests_compareandwrite },
|
||||||
{ (char *)"GetLBAStatus", test_setup, test_teardown,
|
{ "GetLBAStatus", test_setup, test_teardown,
|
||||||
tests_get_lba_status },
|
tests_get_lba_status },
|
||||||
{ (char *)"Inquiry", test_setup, test_teardown,
|
{ "Inquiry", test_setup, test_teardown,
|
||||||
tests_inquiry },
|
tests_inquiry },
|
||||||
{ (char *)"Mandatory", test_setup, test_teardown,
|
{ "Mandatory", test_setup, test_teardown,
|
||||||
tests_mandatory },
|
tests_mandatory },
|
||||||
{ (char *)"ModeSense6", test_setup, test_teardown,
|
{ "ModeSense6", test_setup, test_teardown,
|
||||||
tests_modesense6 },
|
tests_modesense6 },
|
||||||
{ (char *)"NoMedia", test_setup, test_teardown,
|
{ "NoMedia", test_setup, test_teardown,
|
||||||
tests_nomedia },
|
tests_nomedia },
|
||||||
{ (char *)"OrWrite", test_setup, test_teardown,
|
{ "OrWrite", test_setup, test_teardown,
|
||||||
tests_orwrite },
|
tests_orwrite },
|
||||||
{ (char *)"Prefetch10", test_setup, test_teardown,
|
{ "Prefetch10", test_setup, test_teardown,
|
||||||
tests_prefetch10 },
|
tests_prefetch10 },
|
||||||
{ (char *)"Prefetch16", test_setup, test_teardown,
|
{ "Prefetch16", test_setup, test_teardown,
|
||||||
tests_prefetch16 },
|
tests_prefetch16 },
|
||||||
{ (char *)"PreventAllow", test_setup, test_teardown,
|
{ "PreventAllow", test_setup, test_teardown,
|
||||||
tests_preventallow },
|
tests_preventallow },
|
||||||
{ (char *)"PrinReadKeys", test_setup, test_teardown,
|
{ "PrinReadKeys", test_setup, test_teardown,
|
||||||
tests_prin_read_keys },
|
tests_prin_read_keys },
|
||||||
{ (char *)"PrinServiceactionRange", test_setup, test_teardown,
|
{ "PrinServiceactionRange", test_setup, test_teardown,
|
||||||
tests_prin_serviceaction_range },
|
tests_prin_serviceaction_range },
|
||||||
{ (char *)"ProutRegister", test_setup, test_teardown,
|
{ "ProutRegister", test_setup, test_teardown,
|
||||||
tests_prout_register },
|
tests_prout_register },
|
||||||
{ (char *)"ProutReserve", test_setup_pgr, test_teardown_pgr,
|
{ "ProutReserve", test_setup_pgr, test_teardown_pgr,
|
||||||
tests_prout_reserve },
|
tests_prout_reserve },
|
||||||
{ (char *)"Read6", test_setup, test_teardown,
|
{ "Read6", test_setup, test_teardown,
|
||||||
tests_read6 },
|
tests_read6 },
|
||||||
{ (char *)"Read10", test_setup, test_teardown,
|
{ "Read10", test_setup, test_teardown,
|
||||||
tests_read10 },
|
tests_read10 },
|
||||||
{ (char *)"Read12", test_setup, test_teardown,
|
{ "Read12", test_setup, test_teardown,
|
||||||
tests_read12 },
|
tests_read12 },
|
||||||
{ (char *)"Read16", test_setup, test_teardown,
|
{ "Read16", test_setup, test_teardown,
|
||||||
tests_read16 },
|
tests_read16 },
|
||||||
{ (char *)"ReadCapacity10", test_setup, test_teardown,
|
{ "ReadCapacity10", test_setup, test_teardown,
|
||||||
tests_readcapacity10 },
|
tests_readcapacity10 },
|
||||||
{ (char *)"ReadCapacity16", test_setup, test_teardown,
|
{ "ReadCapacity16", test_setup, test_teardown,
|
||||||
tests_readcapacity16 },
|
tests_readcapacity16 },
|
||||||
{ (char *)"ReadOnly", test_setup, test_teardown,
|
{ "ReadOnly", test_setup, test_teardown,
|
||||||
tests_readonly },
|
tests_readonly },
|
||||||
{ (char *)"ReportSupportedOpcodes", test_setup, test_teardown,
|
{ "ReportSupportedOpcodes", test_setup, test_teardown,
|
||||||
tests_report_supported_opcodes },
|
tests_report_supported_opcodes },
|
||||||
{ (char *)"Reserve6", test_setup, test_teardown,
|
{ "Reserve6", test_setup, test_teardown,
|
||||||
tests_reserve6 },
|
tests_reserve6 },
|
||||||
{ (char *)"Sanitize", test_setup, test_teardown,
|
{ "Sanitize", test_setup, test_teardown,
|
||||||
tests_sanitize },
|
tests_sanitize },
|
||||||
{ (char *)"StartStopUnit", test_setup, test_teardown,
|
{ "StartStopUnit", test_setup, test_teardown,
|
||||||
tests_startstopunit },
|
tests_startstopunit },
|
||||||
{ (char *)"UnitReady", test_setup, test_teardown,
|
{ "UnitReady", test_setup, test_teardown,
|
||||||
tests_testunitready },
|
tests_testunitready },
|
||||||
{ (char *)"Unmap", test_setup, test_teardown,
|
{ "Unmap", test_setup, test_teardown,
|
||||||
tests_unmap },
|
tests_unmap },
|
||||||
{ (char *)"Verify10", test_setup, test_teardown,
|
{ "Verify10", test_setup, test_teardown,
|
||||||
tests_verify10 },
|
tests_verify10 },
|
||||||
{ (char *)"Verify12", test_setup, test_teardown,
|
{ "Verify12", test_setup, test_teardown,
|
||||||
tests_verify12 },
|
tests_verify12 },
|
||||||
{ (char *)"Verify16", test_setup, test_teardown,
|
{ "Verify16", test_setup, test_teardown,
|
||||||
tests_verify16 },
|
tests_verify16 },
|
||||||
{ (char *)"Write10", test_setup, test_teardown,
|
{ "Write10", test_setup, test_teardown,
|
||||||
tests_write10 },
|
tests_write10 },
|
||||||
{ (char *)"Write12", test_setup, test_teardown,
|
{ "Write12", test_setup, test_teardown,
|
||||||
tests_write12 },
|
tests_write12 },
|
||||||
{ (char *)"Write16", test_setup, test_teardown,
|
{ "Write16", test_setup, test_teardown,
|
||||||
tests_write16 },
|
tests_write16 },
|
||||||
{ (char *)"WriteSame10", test_setup, test_teardown,
|
{ "WriteSame10", test_setup, test_teardown,
|
||||||
tests_writesame10 },
|
tests_writesame10 },
|
||||||
{ (char *)"WriteSame16", test_setup, test_teardown,
|
{ "WriteSame16", test_setup, test_teardown,
|
||||||
tests_writesame16 },
|
tests_writesame16 },
|
||||||
{ (char *)"WriteVerify10", test_setup, test_teardown,
|
{ "WriteVerify10", test_setup, test_teardown,
|
||||||
tests_writeverify10 },
|
tests_writeverify10 },
|
||||||
{ (char *)"WriteVerify12", test_setup, test_teardown,
|
{ "WriteVerify12", test_setup, test_teardown,
|
||||||
tests_writeverify12 },
|
tests_writeverify12 },
|
||||||
{ (char *)"WriteVerify16", test_setup, test_teardown,
|
{ "WriteVerify16", test_setup, test_teardown,
|
||||||
tests_writeverify16 },
|
tests_writeverify16 },
|
||||||
CU_SUITE_INFO_NULL
|
{ NULL, NULL, NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
static CU_TestInfo tests_iscsi_cmdsn[] = {
|
static CU_TestInfo tests_iscsi_cmdsn[] = {
|
||||||
@@ -499,174 +505,174 @@ static CU_TestInfo tests_iscsi_residuals[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* iSCSI protocol tests */
|
/* iSCSI protocol tests */
|
||||||
static CU_SuiteInfo iscsi_suites[] = {
|
static libiscsi_suite_info iscsi_suites[] = {
|
||||||
{ (char *)"iSCSIcmdsn", test_setup, test_teardown,
|
{ "iSCSIcmdsn", test_setup, test_teardown,
|
||||||
tests_iscsi_cmdsn },
|
tests_iscsi_cmdsn },
|
||||||
{ (char *)"iSCSIResiduals", test_setup, test_teardown,
|
{ "iSCSIResiduals", test_setup, test_teardown,
|
||||||
tests_iscsi_residuals },
|
tests_iscsi_residuals },
|
||||||
CU_SUITE_INFO_NULL
|
{ NULL, NULL, NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
/* All tests */
|
/* All tests */
|
||||||
static CU_SuiteInfo all_suites[] = {
|
static libiscsi_suite_info all_suites[] = {
|
||||||
{ (char *)"CompareAndWrite", test_setup, test_teardown,
|
{ "CompareAndWrite", test_setup, test_teardown,
|
||||||
tests_compareandwrite },
|
tests_compareandwrite },
|
||||||
{ (char *)"GetLBAStatus", test_setup, test_teardown,
|
{ "GetLBAStatus", test_setup, test_teardown,
|
||||||
tests_get_lba_status },
|
tests_get_lba_status },
|
||||||
{ (char *)"Inquiry", test_setup, test_teardown,
|
{ "Inquiry", test_setup, test_teardown,
|
||||||
tests_inquiry },
|
tests_inquiry },
|
||||||
{ (char *)"Mandatory", test_setup, test_teardown,
|
{ "Mandatory", test_setup, test_teardown,
|
||||||
tests_mandatory },
|
tests_mandatory },
|
||||||
{ (char *)"ModeSense6", test_setup, test_teardown,
|
{ "ModeSense6", test_setup, test_teardown,
|
||||||
tests_modesense6 },
|
tests_modesense6 },
|
||||||
{ (char *)"NoMedia", test_setup, test_teardown,
|
{ "NoMedia", test_setup, test_teardown,
|
||||||
tests_nomedia },
|
tests_nomedia },
|
||||||
{ (char *)"OrWrite", test_setup, test_teardown,
|
{ "OrWrite", test_setup, test_teardown,
|
||||||
tests_orwrite },
|
tests_orwrite },
|
||||||
{ (char *)"Prefetch10", test_setup, test_teardown,
|
{ "Prefetch10", test_setup, test_teardown,
|
||||||
tests_prefetch10 },
|
tests_prefetch10 },
|
||||||
{ (char *)"Prefetch16", test_setup, test_teardown,
|
{ "Prefetch16", test_setup, test_teardown,
|
||||||
tests_prefetch16 },
|
tests_prefetch16 },
|
||||||
{ (char *)"PreventAllow", test_setup, test_teardown,
|
{ "PreventAllow", test_setup, test_teardown,
|
||||||
tests_preventallow },
|
tests_preventallow },
|
||||||
{ (char *)"PrinReadKeys", test_setup, test_teardown,
|
{ "PrinReadKeys", test_setup, test_teardown,
|
||||||
tests_prin_read_keys },
|
tests_prin_read_keys },
|
||||||
{ (char *)"PrinServiceactionRange", test_setup, test_teardown,
|
{ "PrinServiceactionRange", test_setup, test_teardown,
|
||||||
tests_prin_serviceaction_range },
|
tests_prin_serviceaction_range },
|
||||||
{ (char *)"ProutRegister", test_setup, test_teardown,
|
{ "ProutRegister", test_setup, test_teardown,
|
||||||
tests_prout_register },
|
tests_prout_register },
|
||||||
{ (char *)"ProutReserve", test_setup_pgr, test_teardown_pgr,
|
{ "ProutReserve", test_setup_pgr, test_teardown_pgr,
|
||||||
tests_prout_reserve },
|
tests_prout_reserve },
|
||||||
{ (char *)"Read6", test_setup, test_teardown,
|
{ "Read6", test_setup, test_teardown,
|
||||||
tests_read6 },
|
tests_read6 },
|
||||||
{ (char *)"Read10", test_setup, test_teardown,
|
{ "Read10", test_setup, test_teardown,
|
||||||
tests_read10 },
|
tests_read10 },
|
||||||
{ (char *)"Read12", test_setup, test_teardown,
|
{ "Read12", test_setup, test_teardown,
|
||||||
tests_read12 },
|
tests_read12 },
|
||||||
{ (char *)"Read16", test_setup, test_teardown,
|
{ "Read16", test_setup, test_teardown,
|
||||||
tests_read16 },
|
tests_read16 },
|
||||||
{ (char *)"ReadCapacity10", test_setup, test_teardown,
|
{ "ReadCapacity10", test_setup, test_teardown,
|
||||||
tests_readcapacity10 },
|
tests_readcapacity10 },
|
||||||
{ (char *)"ReadCapacity16", test_setup, test_teardown,
|
{ "ReadCapacity16", test_setup, test_teardown,
|
||||||
tests_readcapacity16 },
|
tests_readcapacity16 },
|
||||||
{ (char *)"ReadOnly", test_setup, test_teardown,
|
{ "ReadOnly", test_setup, test_teardown,
|
||||||
tests_readonly },
|
tests_readonly },
|
||||||
{ (char *)"ReportSupportedOpcodes", test_setup, test_teardown,
|
{ "ReportSupportedOpcodes", test_setup, test_teardown,
|
||||||
tests_report_supported_opcodes },
|
tests_report_supported_opcodes },
|
||||||
{ (char *)"Reserve6", test_setup, test_teardown,
|
{ "Reserve6", test_setup, test_teardown,
|
||||||
tests_reserve6 },
|
tests_reserve6 },
|
||||||
{ (char *)"Sanitize", test_setup, test_teardown,
|
{ "Sanitize", test_setup, test_teardown,
|
||||||
tests_sanitize },
|
tests_sanitize },
|
||||||
{ (char *)"StartStopUnit", test_setup, test_teardown,
|
{ "StartStopUnit", test_setup, test_teardown,
|
||||||
tests_startstopunit },
|
tests_startstopunit },
|
||||||
{ (char *)"TestUnitReady", test_setup, test_teardown,
|
{ "TestUnitReady", test_setup, test_teardown,
|
||||||
tests_testunitready },
|
tests_testunitready },
|
||||||
{ (char *)"Unmap", test_setup, test_teardown,
|
{ "Unmap", test_setup, test_teardown,
|
||||||
tests_unmap },
|
tests_unmap },
|
||||||
{ (char *)"Verify10", test_setup, test_teardown,
|
{ "Verify10", test_setup, test_teardown,
|
||||||
tests_verify10 },
|
tests_verify10 },
|
||||||
{ (char *)"Verify12", test_setup, test_teardown,
|
{ "Verify12", test_setup, test_teardown,
|
||||||
tests_verify12 },
|
tests_verify12 },
|
||||||
{ (char *)"Verify16", test_setup, test_teardown,
|
{ "Verify16", test_setup, test_teardown,
|
||||||
tests_verify16 },
|
tests_verify16 },
|
||||||
{ (char *)"Write10", test_setup, test_teardown,
|
{ "Write10", test_setup, test_teardown,
|
||||||
tests_write10 },
|
tests_write10 },
|
||||||
{ (char *)"Write12", test_setup, test_teardown,
|
{ "Write12", test_setup, test_teardown,
|
||||||
tests_write12 },
|
tests_write12 },
|
||||||
{ (char *)"Write16", test_setup, test_teardown,
|
{ "Write16", test_setup, test_teardown,
|
||||||
tests_write16 },
|
tests_write16 },
|
||||||
{ (char *)"WriteSame10", test_setup, test_teardown,
|
{ "WriteSame10", test_setup, test_teardown,
|
||||||
tests_writesame10 },
|
tests_writesame10 },
|
||||||
{ (char *)"WriteSame16", test_setup, test_teardown,
|
{ "WriteSame16", test_setup, test_teardown,
|
||||||
tests_writesame16 },
|
tests_writesame16 },
|
||||||
{ (char *)"WriteVerify10", test_setup, test_teardown,
|
{ "WriteVerify10", test_setup, test_teardown,
|
||||||
tests_writeverify10 },
|
tests_writeverify10 },
|
||||||
{ (char *)"WriteVerify12", test_setup, test_teardown,
|
{ "WriteVerify12", test_setup, test_teardown,
|
||||||
tests_writeverify12 },
|
tests_writeverify12 },
|
||||||
{ (char *)"WriteVerify16", test_setup, test_teardown,
|
{ "WriteVerify16", test_setup, test_teardown,
|
||||||
tests_writeverify16 },
|
tests_writeverify16 },
|
||||||
{ (char *)"iSCSIcmdsn", test_setup, test_teardown,
|
{ "iSCSIcmdsn", test_setup, test_teardown,
|
||||||
tests_iscsi_cmdsn },
|
tests_iscsi_cmdsn },
|
||||||
{ (char *)"iSCSIResiduals", test_setup, test_teardown,
|
{ "iSCSIResiduals", test_setup, test_teardown,
|
||||||
tests_iscsi_residuals },
|
tests_iscsi_residuals },
|
||||||
CU_SUITE_INFO_NULL
|
{ NULL, NULL, NULL, NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
static CU_SuiteInfo scsi_usb_sbc_suites[] = {
|
static libiscsi_suite_info scsi_usb_sbc_suites[] = {
|
||||||
{ (char *)"CompareAndWrite", test_setup, test_teardown,
|
{ "CompareAndWrite", test_setup, test_teardown,
|
||||||
tests_compareandwrite },
|
tests_compareandwrite },
|
||||||
{ (char *)"GetLBAStatus", test_setup, test_teardown,
|
{ "GetLBAStatus", test_setup, test_teardown,
|
||||||
tests_get_lba_status },
|
tests_get_lba_status },
|
||||||
{ (char *)"Inquiry", test_setup, test_teardown,
|
{ "Inquiry", test_setup, test_teardown,
|
||||||
tests_inquiry },
|
tests_inquiry },
|
||||||
{ (char *)"Mandatory", test_setup, test_teardown,
|
{ "Mandatory", test_setup, test_teardown,
|
||||||
tests_mandatory },
|
tests_mandatory },
|
||||||
{ (char *)"ModeSense6", test_setup, test_teardown,
|
{ "ModeSense6", test_setup, test_teardown,
|
||||||
tests_modesense6 },
|
tests_modesense6 },
|
||||||
{ (char *)"OrWrite", test_setup, test_teardown,
|
{ "OrWrite", test_setup, test_teardown,
|
||||||
tests_orwrite },
|
tests_orwrite },
|
||||||
{ (char *)"Prefetch10", test_setup, test_teardown,
|
{ "Prefetch10", test_setup, test_teardown,
|
||||||
tests_prefetch10 },
|
tests_prefetch10 },
|
||||||
{ (char *)"Prefetch16", test_setup, test_teardown,
|
{ "Prefetch16", test_setup, test_teardown,
|
||||||
tests_prefetch16 },
|
tests_prefetch16 },
|
||||||
{ (char *)"PrinReadKeys", test_setup, test_teardown,
|
{ "PrinReadKeys", test_setup, test_teardown,
|
||||||
tests_prin_read_keys },
|
tests_prin_read_keys },
|
||||||
{ (char *)"PrinServiceactionRange", test_setup, test_teardown,
|
{ "PrinServiceactionRange", test_setup, test_teardown,
|
||||||
tests_prin_serviceaction_range },
|
tests_prin_serviceaction_range },
|
||||||
{ (char *)"ProutRegister", test_setup, test_teardown,
|
{ "ProutRegister", test_setup, test_teardown,
|
||||||
tests_prout_register },
|
tests_prout_register },
|
||||||
{ (char *)"ProutReserve", test_setup_pgr, test_teardown_pgr,
|
{ "ProutReserve", test_setup_pgr, test_teardown_pgr,
|
||||||
tests_prout_reserve },
|
tests_prout_reserve },
|
||||||
{ (char *)"Read6", test_setup, test_teardown,
|
{ "Read6", test_setup, test_teardown,
|
||||||
tests_read6 },
|
tests_read6 },
|
||||||
{ (char *)"Read10", test_setup, test_teardown,
|
{ "Read10", test_setup, test_teardown,
|
||||||
tests_read10 },
|
tests_read10 },
|
||||||
{ (char *)"Read12", test_setup, test_teardown,
|
{ "Read12", test_setup, test_teardown,
|
||||||
tests_read12 },
|
tests_read12 },
|
||||||
{ (char *)"Read16", test_setup, test_teardown,
|
{ "Read16", test_setup, test_teardown,
|
||||||
tests_read16 },
|
tests_read16 },
|
||||||
{ (char *)"ReadCapacity10", test_setup, test_teardown,
|
{ "ReadCapacity10", test_setup, test_teardown,
|
||||||
tests_readcapacity10 },
|
tests_readcapacity10 },
|
||||||
{ (char *)"ReadCapacity16", test_setup, test_teardown,
|
{ "ReadCapacity16", test_setup, test_teardown,
|
||||||
tests_readcapacity16 },
|
tests_readcapacity16 },
|
||||||
{ (char *)"ReadOnly", test_setup, test_teardown,
|
{ "ReadOnly", test_setup, test_teardown,
|
||||||
tests_readonly },
|
tests_readonly },
|
||||||
{ (char *)"ReportSupportedOpcodes", test_setup, test_teardown,
|
{ "ReportSupportedOpcodes", test_setup, test_teardown,
|
||||||
tests_report_supported_opcodes },
|
tests_report_supported_opcodes },
|
||||||
{ (char *)"Reserve6", test_setup, test_teardown,
|
{ "Reserve6", test_setup, test_teardown,
|
||||||
tests_reserve6 },
|
tests_reserve6 },
|
||||||
{ (char *)"TestUnitReady", test_setup, test_teardown,
|
{ "TestUnitReady", test_setup, test_teardown,
|
||||||
tests_testunitready },
|
tests_testunitready },
|
||||||
{ (char *)"Unmap", test_setup, test_teardown,
|
{ "Unmap", test_setup, test_teardown,
|
||||||
tests_unmap },
|
tests_unmap },
|
||||||
{ (char *)"Verify10", test_setup, test_teardown,
|
{ "Verify10", test_setup, test_teardown,
|
||||||
tests_verify10 },
|
tests_verify10 },
|
||||||
{ (char *)"Verify12", test_setup, test_teardown,
|
{ "Verify12", test_setup, test_teardown,
|
||||||
tests_verify12 },
|
tests_verify12 },
|
||||||
{ (char *)"Verify16", test_setup, test_teardown,
|
{ "Verify16", test_setup, test_teardown,
|
||||||
tests_verify16 },
|
tests_verify16 },
|
||||||
{ (char *)"Write10", test_setup, test_teardown,
|
{ "Write10", test_setup, test_teardown,
|
||||||
tests_write10 },
|
tests_write10 },
|
||||||
{ (char *)"Write12", test_setup, test_teardown,
|
{ "Write12", test_setup, test_teardown,
|
||||||
tests_write12 },
|
tests_write12 },
|
||||||
{ (char *)"Write16", test_setup, test_teardown,
|
{ "Write16", test_setup, test_teardown,
|
||||||
tests_write16 },
|
tests_write16 },
|
||||||
{ (char *)"WriteSame10", test_setup, test_teardown,
|
{ "WriteSame10", test_setup, test_teardown,
|
||||||
tests_writesame10 },
|
tests_writesame10 },
|
||||||
{ (char *)"WriteSame16", test_setup, test_teardown,
|
{ "WriteSame16", test_setup, test_teardown,
|
||||||
tests_writesame16 },
|
tests_writesame16 },
|
||||||
{ (char *)"WriteVerify10", test_setup, test_teardown,
|
{ "WriteVerify10", test_setup, test_teardown,
|
||||||
tests_writeverify10 },
|
tests_writeverify10 },
|
||||||
{ (char *)"WriteVerify12", test_setup, test_teardown,
|
{ "WriteVerify12", test_setup, test_teardown,
|
||||||
tests_writeverify12 },
|
tests_writeverify12 },
|
||||||
{ (char *)"WriteVerify16", test_setup, test_teardown,
|
{ "WriteVerify16", test_setup, test_teardown,
|
||||||
tests_writeverify16 },
|
tests_writeverify16 },
|
||||||
CU_SUITE_INFO_NULL
|
{ NULL, NULL, NULL, NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
struct test_family {
|
struct test_family {
|
||||||
const char *name;
|
const char *name;
|
||||||
CU_SuiteInfo *suites;
|
libiscsi_suite_info *suites;
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct test_family families[] = {
|
static struct test_family families[] = {
|
||||||
@@ -747,20 +753,20 @@ print_usage(void)
|
|||||||
fprintf(stderr, "\n");
|
fprintf(stderr, "\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
CU_ST_RETTYPE
|
||||||
test_setup(void)
|
test_setup(void)
|
||||||
{
|
{
|
||||||
iscsic = iscsi_context_login(initiatorname1, tgt_url, &tgt_lun);
|
iscsic = iscsi_context_login(initiatorname1, tgt_url, &tgt_lun);
|
||||||
if (iscsic == NULL) {
|
if (iscsic == NULL) {
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"error: Failed to login to target for test set-up\n");
|
"error: Failed to login to target for test set-up\n");
|
||||||
return 1;
|
CU_ST_RETURN(1);
|
||||||
}
|
}
|
||||||
task = NULL;
|
task = NULL;
|
||||||
return 0;
|
CU_ST_RETURN(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
CU_ST_RETTYPE
|
||||||
test_setup_pgr(void)
|
test_setup_pgr(void)
|
||||||
{
|
{
|
||||||
task = NULL;
|
task = NULL;
|
||||||
@@ -770,7 +776,7 @@ test_setup_pgr(void)
|
|||||||
if (iscsic == NULL) {
|
if (iscsic == NULL) {
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"error: Failed to login to target for test set-up\n");
|
"error: Failed to login to target for test set-up\n");
|
||||||
return 1;
|
CU_ST_RETURN(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
iscsic2 = iscsi_context_login(initiatorname2, tgt_url, &tgt_lun2);
|
iscsic2 = iscsi_context_login(initiatorname2, tgt_url, &tgt_lun2);
|
||||||
@@ -780,12 +786,12 @@ test_setup_pgr(void)
|
|||||||
iscsi_logout_sync(iscsic);
|
iscsi_logout_sync(iscsic);
|
||||||
iscsi_destroy_context(iscsic);
|
iscsi_destroy_context(iscsic);
|
||||||
iscsic = NULL;
|
iscsic = NULL;
|
||||||
return 1;
|
CU_ST_RETURN(1);
|
||||||
}
|
}
|
||||||
return 0;
|
CU_ST_RETURN(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
CU_ST_RETTYPE
|
||||||
test_teardown(void)
|
test_teardown(void)
|
||||||
{
|
{
|
||||||
if (task) {
|
if (task) {
|
||||||
@@ -797,10 +803,10 @@ test_teardown(void)
|
|||||||
iscsi_destroy_context(iscsic);
|
iscsi_destroy_context(iscsic);
|
||||||
iscsic = NULL;
|
iscsic = NULL;
|
||||||
}
|
}
|
||||||
return 0;
|
CU_ST_RETURN(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
CU_ST_RETTYPE
|
||||||
test_teardown_pgr(void)
|
test_teardown_pgr(void)
|
||||||
{
|
{
|
||||||
test_teardown();
|
test_teardown();
|
||||||
@@ -808,14 +814,14 @@ test_teardown_pgr(void)
|
|||||||
free(read_write_buf);
|
free(read_write_buf);
|
||||||
read_write_buf = NULL;
|
read_write_buf = NULL;
|
||||||
}
|
}
|
||||||
return 0;
|
CU_ST_RETURN(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
list_all_tests(void)
|
list_all_tests(void)
|
||||||
{
|
{
|
||||||
struct test_family *fp;
|
struct test_family *fp;
|
||||||
CU_SuiteInfo *sp;
|
libiscsi_suite_info *sp;
|
||||||
CU_TestInfo *tp;
|
CU_TestInfo *tp;
|
||||||
|
|
||||||
for (fp = families; fp->name; fp++) {
|
for (fp = families; fp->name; fp++) {
|
||||||
@@ -835,19 +841,20 @@ static CU_ErrorCode
|
|||||||
add_tests(const char *testname_re)
|
add_tests(const char *testname_re)
|
||||||
{
|
{
|
||||||
char *family_re = NULL;
|
char *family_re = NULL;
|
||||||
const char *suite_re = NULL;
|
char *suite_re = NULL;
|
||||||
const char *test_re = NULL;
|
char *test_re = NULL;
|
||||||
char *cp;
|
char *cp;
|
||||||
struct test_family *fp;
|
struct test_family *fp;
|
||||||
CU_SuiteInfo *sp;
|
libiscsi_suite_info *sp;
|
||||||
CU_TestInfo *tp;
|
CU_TestInfo *tp;
|
||||||
|
|
||||||
|
|
||||||
/* if not testname(s) register all tests and return */
|
/* if not testname(s) register all tests */
|
||||||
if (!testname_re) {
|
if (!testname_re) {
|
||||||
return CU_register_suites(all_suites);
|
family_re = strdup("*");
|
||||||
}
|
suite_re = strdup("*");
|
||||||
|
test_re = strdup("*");
|
||||||
|
} else {
|
||||||
/*
|
/*
|
||||||
* break testname_re into family/suite/test
|
* break testname_re into family/suite/test
|
||||||
*
|
*
|
||||||
@@ -856,24 +863,23 @@ add_tests(const char *testname_re)
|
|||||||
family_re = strdup(testname_re);
|
family_re = strdup(testname_re);
|
||||||
if ((cp = strchr(family_re, '.')) != NULL) {
|
if ((cp = strchr(family_re, '.')) != NULL) {
|
||||||
*cp++ = 0;
|
*cp++ = 0;
|
||||||
suite_re = cp;
|
suite_re = strdup(cp);
|
||||||
if ((cp = strchr(suite_re, '.')) != NULL) {
|
if ((cp = strchr(suite_re, '.')) != NULL) {
|
||||||
*cp++ = 0;
|
*cp++ = 0;
|
||||||
test_re = cp;
|
test_re = strdup(cp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (suite_re == NULL) {
|
if (!suite_re)
|
||||||
suite_re = "*";
|
suite_re = strdup("*");
|
||||||
}
|
if (!test_re)
|
||||||
if (test_re == NULL) {
|
test_re = strdup("*");
|
||||||
test_re = "*";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!family_re) {
|
if (!family_re) {
|
||||||
fprintf(stderr, "error: can't parse test family name: %s\n",
|
fprintf(stderr,
|
||||||
|
"error: can't parse test family name: %s\n",
|
||||||
family_re);
|
family_re);
|
||||||
return CUE_NOTEST;
|
return CUE_NOTEST;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* cycle through the test families/suites/tests, adding
|
* cycle through the test families/suites/tests, adding
|
||||||
@@ -905,8 +911,9 @@ add_tests(const char *testname_re)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* all done -- clean up */
|
/* all done -- clean up */
|
||||||
if (family_re)
|
|
||||||
free(family_re);
|
free(family_re);
|
||||||
|
free(suite_re);
|
||||||
|
free(test_re);
|
||||||
|
|
||||||
return CUE_SUCCESS;
|
return CUE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,10 +35,20 @@ extern struct iscsi_context *iscsic2;
|
|||||||
extern int tgt_lun2;
|
extern int tgt_lun2;
|
||||||
extern unsigned char *read_write_buf;
|
extern unsigned char *read_write_buf;
|
||||||
|
|
||||||
int test_setup(void);
|
#ifdef HAVE_CU_SUITEINFO_PSETUPFUNC
|
||||||
int test_teardown(void);
|
/* libcunit version 2 */
|
||||||
int test_setup_pgr(void);
|
#define CU_ST_RETTYPE void
|
||||||
int test_teardown_pgr(void);
|
#define CU_ST_RETURN(v) return
|
||||||
|
#else
|
||||||
|
/* libcunit version 1 */
|
||||||
|
#define CU_ST_RETTYPE int
|
||||||
|
#define CU_ST_RETURN(v) return v
|
||||||
|
#endif
|
||||||
|
|
||||||
|
CU_ST_RETTYPE test_setup(void);
|
||||||
|
CU_ST_RETTYPE test_teardown(void);
|
||||||
|
CU_ST_RETTYPE test_setup_pgr(void);
|
||||||
|
CU_ST_RETTYPE test_teardown_pgr(void);
|
||||||
|
|
||||||
void test_compareandwrite_simple(void);
|
void test_compareandwrite_simple(void);
|
||||||
void test_compareandwrite_miscompare(void);
|
void test_compareandwrite_miscompare(void);
|
||||||
|
|||||||
Reference in New Issue
Block a user