blob: fea747753001bf49da63e62ac6f71326ef0a81df [file] [log] [blame]
# Copyright (c) 2021 Project CHIP Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default
name:
3.4.2. [TC-SU-2.5] Handling different ApplyUpdateResponse scenarios on
Requestor
PICS:
- MCORE.OTA.Requestor
config:
nodeId: 0x12344321
cluster: "Basic"
endpoint: 0
tests:
- label:
"OTA-P/TH sends the ApplyUpdateResponse Command to the DUT. Action
field is set to Proceed DelayedActionTime is set to 0."
verification: |
Verify that the DUT starts updating its software.
Once the update is finished verify the software version on the DUT to match the version downloaded for the software update.
./chip-ota-provider-app --discriminator 3840 --secured-device-port 5540 --KVS ~/provider/chip_kvs_provider --filepath ota-requestor-app.ota -a proceed -p 0
./chip-tool basic read software-version-string 0x1234567890 0
[1653566686.505112][31729:31734] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_000A DataVersion: 259813380
[1653566686.505186][31729:31734] CHIP:TOO: SoftwareVersionString: 2.0
Verify on the OTA-P/TH that there is no other ApplyUpdateRequest from the DUT.
disabled: true
- label:
"OTA-P/TH sends the ApplyUpdateResponse Command to the DUT. Action
field is set to Proceed DelayedActionTime is set to 3 minutes"
verification: |
Run the OTA Provider App using the command:
./chip-ota-provider-app --discriminator 22 --secured-device-port 5565 --KVS /tmp/chip_kvs_provider --filepath /tmp/test.bin -p 180
[1653635778.270994][7933:7933] CHIP:SWU: ApplyUpdateResponse:
[1653635778.271015][7933:7933] CHIP:SWU: action: 0
[1653635778.271031][7933:7933] CHIP:SWU: delayedActionTime: 180 seconds
Verify that the DUT starts updating its software after 3 minutes. Once the update is finished verify the software version on the DUT to match the version downloaded for the software update.
./chip-tool basic read software-version-string 0x1234567890 0
[1653636406.637617][11116:11121] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_000A DataVersion: 1527020963
[1653636406.637708][11116:11121] CHIP:TOO: SoftwareVersionString: 2.0
disabled: true
- label:
"OTA-P/TH sends the ApplyUpdateResponse Command to the DUT. Action
field is set to AwaitNextAction, DelayedActionTime is set to 1 minute."
verification: |
Run the OTA Provider App using the command:
./chip-ota-provider-app --discriminator 22 --secured-device-port 5565 --KVS /tmp/chip_kvs_provider --filepath /tmp/test.bin -a awaitNextAction -p 60
[1653640038.385848][8303:8303] CHIP:SWU: ApplyUpdateResponse:
[1653640038.385873][8303:8303] CHIP:SWU: action: 1
[1653640038.385895][8303:8303] CHIP:SWU: delayedActionTime: 60 seconds
Verify that the DUT waits for the minimum interval defined by spec which is 2 minutes before re-sending the ApplyUpdateRequest to the OTA-P.
Verify that the DUT does not apply the software update within this time.
disabled: true
- label:
"OTA-P/TH sends the ApplyUpdateResponse Command to the DUT. Action
field is set to AwaitNextAction, DelayedActionTime is set to 3
minutes. On the subsequent ApplyUpdateRequest command, TH/OTA-P sends
the ApplyUpdateResponse back to DUT. Action field is set to Proceed."
verification: |
Run the OTA Provider App using the command:
./chip-ota-provider-app --discriminator 22 --secured-device-port 5565 --KVS /tmp/chip_kvs_provider --filepath /tmp/test.bin -a awaitNextAction -p 180
Verify that the DUT waits for 3 minutes before sending the ApplyUpdateRequest to the OTA-P.
Verify that the DUT starts updating its software after the second ApplyUpdateResponse with Proceed action.
Once the update is finished, verify the software version from the Basic Information cluster on the DUT to match the version downloaded for the software update.
./chip-tool basic read software-version-string 0x1234567890 0
[1653636406.637617][11116:11121] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_000A DataVersion: 1527020963
[1653636406.637708][11116:11121] CHIP:TOO: SoftwareVersionString: 2.0
disabled: true
- label:
"OTA-P/TH sends the ApplyUpdateResponse Command to the DUT. Action
field is set to Discontinue."
verification: |
Run the OTA Provider App using the command:
./chip-ota-provider-app --discriminator 22 --secured-device-port 5565 --KVS /tmp/chip_kvs_provider --filepath /tmp/test.bin -a discontinue
Verify that the DUT clears its previously downloaded software image and resets the UpdateState Attribute to Idle (Value 1)
./chip-tool otasoftwareupdaterequestor read update-state 0x1234567890 0
[1655392988.539869][3147:3153] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002A Attribute 0x0000_0002 DataVersion: 1861243848
[1655392988.541680][3147:3153] CHIP:TOO: UpdateState: 1
Verify that the DUT does not send the NotifyUpdateApplied within a reasonable time.
Verify the software version from the Basic Information cluster of the DUT to be the same as it was previously.
./chip-tool basic read software-version-string 0x1234567890 0
[1653636406.637617][11116:11121] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_000A DataVersion: 1527020963
[1653636406.637708][11116:11121] CHIP:TOO: SoftwareVersionString: 1.0
disabled: true
- label: "Apply the OTA Update on DUT using vendor specific mechanism."
PICS: MCORE.OTA.VendorSpecific
verification: |
Use vendor specific steps to apply OTA Update and verify that the DUT starts updating its software.
Once the update is finished verify the software version on the DUT to match the version downloaded for the software update.
disabled: true