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
|
||||||
|
|||||||
+174
-167
@@ -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,44 +841,44 @@ 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
|
||||||
* syntax is: FAMILY[.SUITE[.TEST]]
|
*
|
||||||
*/
|
* syntax is: FAMILY[.SUITE[.TEST]]
|
||||||
family_re = strdup(testname_re);
|
*/
|
||||||
if ((cp = strchr(family_re, '.')) != NULL) {
|
family_re = strdup(testname_re);
|
||||||
*cp++ = 0;
|
if ((cp = strchr(family_re, '.')) != NULL) {
|
||||||
suite_re = cp;
|
|
||||||
if ((cp = strchr(suite_re, '.')) != NULL) {
|
|
||||||
*cp++ = 0;
|
*cp++ = 0;
|
||||||
test_re = cp;
|
suite_re = strdup(cp);
|
||||||
|
if ((cp = strchr(suite_re, '.')) != NULL) {
|
||||||
|
*cp++ = 0;
|
||||||
|
test_re = strdup(cp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!suite_re)
|
||||||
|
suite_re = strdup("*");
|
||||||
|
if (!test_re)
|
||||||
|
test_re = strdup("*");
|
||||||
|
if (!family_re) {
|
||||||
|
fprintf(stderr,
|
||||||
|
"error: can't parse test family name: %s\n",
|
||||||
|
family_re);
|
||||||
|
return CUE_NOTEST;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (suite_re == NULL) {
|
|
||||||
suite_re = "*";
|
|
||||||
}
|
|
||||||
if (test_re == NULL) {
|
|
||||||
test_re = "*";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!family_re) {
|
|
||||||
fprintf(stderr, "error: can't parse test family name: %s\n",
|
|
||||||
family_re);
|
|
||||||
return CUE_NOTEST;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -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