Commit b42eebfc authored by Scott Vokes's avatar Scott Vokes
Browse files

Add larger non-default timeouts for SetACL, SetPin, LockUnlock, Erase.

Each of these appears to take >= 9 seconds against the hardware,
causing intermittent failures when running system tests. Bump the
default to 30, and retain the Erase timeout of 180 seconds, but
switch to constants.
parent 732f71eb
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -776,6 +776,7 @@ void KineticOperation_BuildSetPin(KineticOperation* const operation, ByteArray o
    
    operation->callback = &KineticOperation_SetPinCallback;
    operation->request->pinAuth = false;
    operation->timeoutSeconds = KineticOperation_TimeoutSetPin;
}

KineticStatus KineticOperation_EraseCallback(KineticOperation* const operation, KineticStatus const status)
@@ -803,7 +804,7 @@ void KineticOperation_BuildErase(KineticOperation* const operation, bool secure_
    
    operation->callback = &KineticOperation_EraseCallback;
    operation->request->pinAuth = true;
    operation->timeoutSeconds = 180;
    operation->timeoutSeconds = KineticOperation_TimeoutErase;
}

KineticStatus KineticOperation_LockUnlockCallback(KineticOperation* const operation, KineticStatus const status)
@@ -832,6 +833,7 @@ void KineticOperation_BuildLockUnlock(KineticOperation* const operation, bool lo
    
    operation->callback = &KineticOperation_LockUnlockCallback;
    operation->request->pinAuth = true;
    operation->timeoutSeconds = KineticOperation_TimeoutLockUnlock;
}

KineticStatus KineticOperation_SetClusterVersionCallback(KineticOperation* const operation, KineticStatus const status)
@@ -887,6 +889,7 @@ void KineticOperation_BuildSetACL(KineticOperation* const operation,
    operation->request->command->body->security->acl = ACLs->ACLs;

    operation->callback = &KineticOperation_SetACLCallback;
    operation->timeoutSeconds = KineticOperation_TimeoutSetACL;
}

KineticStatus KineticOperation_UpdateFirmwareCallback(KineticOperation* const operation, KineticStatus const status)
+10 −0
Original line number Diff line number Diff line
@@ -28,6 +28,16 @@ KineticStatus KineticOperation_GetStatus(const KineticOperation* const operation
void KineticOperation_Complete(KineticOperation* operation, KineticStatus status);


/* Operations with non-standard timeouts. */
typedef enum {
    KineticOperation_TimeoutSetACL = 30,
    KineticOperation_TimeoutSetPin = 30,
    KineticOperation_TimeoutLockUnlock = 30,
    KineticOperation_TimeoutErase = 180,
} KineticOperation_NonstandardTimeout;



/*******************************************************************************
 * Client Operations
*******************************************************************************/
+6 −6
Original line number Diff line number Diff line
@@ -585,7 +585,7 @@ void test_KineticOperation_BuildSetPin_should_build_a_SECURITY_operation_to_set_
    KineticOperation_BuildSetPin(&Operation, oldPin, newPin, true);

    TEST_ASSERT_FALSE(Request.pinAuth);
    TEST_ASSERT_EQUAL(0, Operation.timeoutSeconds);
    TEST_ASSERT_EQUAL(KineticOperation_TimeoutSetPin, Operation.timeoutSeconds);
    TEST_ASSERT_TRUE(Request.message.command.header->has_messageType);
    TEST_ASSERT_EQUAL(KINETIC_PROTO_COMMAND_MESSAGE_TYPE_SECURITY,
        Request.message.command.header->messageType);
@@ -610,7 +610,7 @@ void test_KineticOperation_BuildSetPin_should_build_a_SECURITY_operation_to_set_
    KineticOperation_BuildSetPin(&Operation, oldPin, newPin, false);

    TEST_ASSERT_FALSE(Request.pinAuth);
    TEST_ASSERT_EQUAL(0, Operation.timeoutSeconds);
    TEST_ASSERT_EQUAL(KineticOperation_TimeoutSetPin, Operation.timeoutSeconds);
    TEST_ASSERT_TRUE(Request.message.command.header->has_messageType);
    TEST_ASSERT_EQUAL(KINETIC_PROTO_COMMAND_MESSAGE_TYPE_SECURITY,
        Request.message.command.header->messageType);
@@ -712,7 +712,7 @@ void test_KineticOperation_BuildErase_should_build_an_INSTANT_ERASE_operation_wi
        Request.command->body->pinOp->pinOpType);
    TEST_ASSERT_EQUAL_PTR(&KineticOperation_EraseCallback, Operation.callback);
    TEST_ASSERT_NULL(Operation.response);
    TEST_ASSERT_EQUAL(180, Operation.timeoutSeconds);
    TEST_ASSERT_EQUAL(KineticOperation_TimeoutErase, Operation.timeoutSeconds);
}

void test_KineticOperation_BuildLockUnlock_should_build_a_LOCK_operation_with_PIN_auth(void)
@@ -735,7 +735,7 @@ void test_KineticOperation_BuildLockUnlock_should_build_a_LOCK_operation_with_PI
        Request.command->body->pinOp->pinOpType);
    TEST_ASSERT_EQUAL_PTR(&KineticOperation_LockUnlockCallback, Operation.callback);
    TEST_ASSERT_NULL(Operation.response);
    TEST_ASSERT_EQUAL(0, Operation.timeoutSeconds);
    TEST_ASSERT_EQUAL(KineticOperation_TimeoutLockUnlock, Operation.timeoutSeconds);
}

void test_KineticOperation_BuildLockUnlock_should_build_an_UNLOCK_operation_with_PIN_auth(void)
@@ -758,7 +758,7 @@ void test_KineticOperation_BuildLockUnlock_should_build_an_UNLOCK_operation_with
        Request.command->body->pinOp->pinOpType);
    TEST_ASSERT_EQUAL_PTR(&KineticOperation_LockUnlockCallback, Operation.callback);
    TEST_ASSERT_NULL(Operation.response);
    TEST_ASSERT_EQUAL(0, Operation.timeoutSeconds);
    TEST_ASSERT_EQUAL(KineticOperation_TimeoutLockUnlock, Operation.timeoutSeconds);
}

void test_KineticOperation_BuildSetClusterVersion_should_build_a_SET_CLUSTER_VERSION_operation_with_PIN_auth(void)
@@ -804,7 +804,7 @@ void test_KineticOperation_BuildSetACL_should_build_a_SECURITY_operation(void)

    TEST_ASSERT_EQUAL_PTR(&KineticOperation_SetACLCallback, Operation.callback);
    TEST_ASSERT_NULL(Operation.response);
    TEST_ASSERT_EQUAL(0, Operation.timeoutSeconds);
    TEST_ASSERT_EQUAL(KineticOperation_TimeoutSetACL, Operation.timeoutSeconds);
}

void test_KineticOperation_BuildFirmwareUpdate_should_build_a_FIRMWARE_DOWNLOAD_operation(void)