Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 44b129f7 authored by sqian's avatar sqian Committed by Shuo Qian
Browse files

Fix setAllowedCarrier

If function is not supported or executed successfully, do not
expect its effect on cardStatus.

Bug: 112008372
Test: run vts
Change-Id: I4532a39af2cfcf0e44eafe29c3c7f6779ae101f5
parent 8e920568
Loading
Loading
Loading
Loading
+30 −20
Original line number Diff line number Diff line
@@ -779,20 +779,27 @@ TEST_F(RadioHidlTest, setAllowedCarriers) {
                                     {RadioError::NONE, RadioError::REQUEST_NOT_SUPPORTED}));
    }

    if (radioRsp->rspInfo.error == RadioError::NONE) {
        /* Setting to carrier restriction needs some time */
        updateSimCardStatus();
        auto startTime = std::chrono::system_clock::now();
        while (cardStatus.cardState != CardState::RESTRICTED &&
           std::chrono::duration_cast<chrono::seconds>(std::chrono::system_clock::now() - startTime)
               std::chrono::duration_cast<chrono::seconds>(std::chrono::system_clock::now() -
                                                           startTime)
                       .count() < 10) {
            /* Set 2 seconds as interval to check card status */
            sleep(2);
            updateSimCardStatus();
        }
        EXPECT_EQ(CardState::RESTRICTED, cardStatus.cardState);
    }
    sleep(10);

    /* Reset back to no carrier restriction */
    /** 
     * Another test case of the API to cover to allow carrier.
     * If the API is supported, this is also used to reset to no carrier restriction
     * status for cardStatus. 
     */
    memset(&carriers, 0, sizeof(carriers));
    carriers.allowedCarriers.resize(0);
    carriers.excludedCarriers.resize(0);
@@ -808,11 +815,13 @@ TEST_F(RadioHidlTest, setAllowedCarriers) {
                                     {RadioError::NONE, RadioError::REQUEST_NOT_SUPPORTED}));
    }

    if (radioRsp->rspInfo.error == RadioError::NONE) {
        /* Resetting back to no carrier restriction needs some time */
        updateSimCardStatus();
    startTime = std::chrono::system_clock::now();
        auto startTime = std::chrono::system_clock::now();
        while (cardStatus.cardState == CardState::RESTRICTED &&
           std::chrono::duration_cast<chrono::seconds>(std::chrono::system_clock::now() - startTime)
               std::chrono::duration_cast<chrono::seconds>(std::chrono::system_clock::now() -
                                                           startTime)
                       .count() < 10) {
            /* Set 2 seconds as interval to check card status */
            sleep(2);
@@ -821,6 +830,7 @@ TEST_F(RadioHidlTest, setAllowedCarriers) {
        EXPECT_NE(CardState::RESTRICTED, cardStatus.cardState);
        sleep(10);
    }
}

/*
 * Test IRadio.getAllowedCarriers() for the response returned.