void driver_entry_ut::test_common_start_start_when_corrupt() { this->expect_true(common_add_module(m_dummy_start_vmm_success.get(), m_dummy_start_vmm_success_length) == BF_SUCCESS); this->expect_true(common_add_module(m_dummy_stop_vmm_failure.get(), m_dummy_stop_vmm_failure_length) == BF_SUCCESS); this->expect_true(common_add_module(m_dummy_add_md_success.get(), m_dummy_add_md_success_length) == BF_SUCCESS); this->expect_true(common_add_module(m_dummy_misc.get(), m_dummy_misc_length) == BF_SUCCESS); this->expect_true(common_load_vmm() == BF_SUCCESS); this->expect_true(common_start_vmm() == BF_SUCCESS); this->expect_true(common_stop_vmm() == ENTRY_ERROR_VMM_STOP_FAILED); this->expect_true(common_start_vmm() == BF_ERROR_VMM_CORRUPTED); this->expect_true(common_vmm_status() == VMM_CORRUPT); common_reset(); }
void driver_entry_ut::test_common_start_start_when_corrupt() { EXPECT_TRUE(common_add_module(m_dummy_init_vmm_success, m_dummy_init_vmm_success_length) == BF_SUCCESS); EXPECT_TRUE(common_add_module(m_dummy_start_vmm_success, m_dummy_start_vmm_success_length) == BF_SUCCESS); EXPECT_TRUE(common_add_module(m_dummy_stop_vmm_failure, m_dummy_stop_vmm_failure_length) == BF_SUCCESS); EXPECT_TRUE(common_add_module(m_dummy_add_mdl_success, m_dummy_add_mdl_success_length) == BF_SUCCESS); EXPECT_TRUE(common_add_module(m_dummy_misc, m_dummy_misc_length) == BF_SUCCESS); EXPECT_TRUE(common_load_vmm() == BF_SUCCESS); EXPECT_TRUE(common_start_vmm() == BF_SUCCESS); EXPECT_TRUE(common_stop_vmm() == ENTRY_ERROR_VMM_STOP_FAILED); EXPECT_TRUE(common_start_vmm() == BF_ERROR_VMM_CORRUPTED); EXPECT_TRUE(common_vmm_status() == VMM_CORRUPT); common_reset(); }
static long ioctl_stop_vmm(void) { int64_t ret; long status = BF_IOCTL_SUCCESS; ret = common_stop_vmm(); if (ret != BF_SUCCESS) { ALERT("IOCTL_STOP_VMM: failed to stop vmm: %lld\n", ret); status = BF_IOCTL_FAILURE; } if (status == BF_IOCTL_SUCCESS) DEBUG("IOCTL_STOP_VMM: succeeded\n"); return status; }
static int64_t ioctl_stop_vmm(void) { int64_t ret; int64_t status = BF_IOCTL_SUCCESS; ret = common_stop_vmm(); if (ret != BF_SUCCESS) { ALERT("IOCTL_STOP_VMM: ioctl_stop_vmm failed: %p - %s\n", (void *)ret, ec_to_str(ret)); status = BF_IOCTL_FAILURE; } if (status == BF_IOCTL_SUCCESS) DEBUG("IOCTL_STOP_VMM: succeeded\n"); return status; }