project-chip / project-chip/certification-tool

[Bug] TC-SU-2.2: Step 2 Can Time Out Because DUT May Still Be in Downloading When AnnounceOTAProvider Is Sent

Open
#906 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Bug Needs Triage
Dominant language
Shell
Stars
83
Forks
47
Avg merge
1d 15h
Merged PRs (30d)
17

Description

Describe the bug

In TC-SU-2.2 (Handling Different QueryImageResponse Scenarios on Requestor), after Step 1 verifies that the DUT has entered Downloading and has progress, the test terminates the OTA Provider process and immediately proceeds to Step 2: it starts a new Provider (configured to return Busy) and sends AnnounceOTAProvider to the DUT.
At that time the DUT may still be in Downloading (the Step 1 download was interrupted when the Provider was closed, and the device only returns to Idle after BDX timeout or similar logic). The OTA Requestor driver only processes AnnounceOTAProvider when UpdateState is Idle; otherwise the command is ignored. As a result, the AnnounceOTAProvider sent in Step 2 can be ignored by the DUT, the test never sees DelayedOnQuery, and Step 2 fails with timeouts such as “Reached time-out without finding all expected report values”.

Steps to reproduce the behavior
  1. Run TC_SU_2_2 with the DUT as the OTA Requestor.
  2. Complete Step 1 successfully: Provider returns UpdateAvailable, DUT enters Downloading and reports progress.
  3. At the end of Step 1, terminate the Provider; the test then starts the Step 2 Provider and sends AnnounceOTAProvider.
  4. Observe: Step 2 times out waiting for DelayedOnQuery and the test fails; device logs may show “State is not kIdle, ignoring the AnnounceOTAProviders. State: 4” (State 4 is Downloading).
Expected behavior

After the step 1 completed, should wait until the update state changes to "idle" before start step 2. This may take about ten minutes.

Log files

No response

PICS file

No response

Screenshots

No response

Environment

No response

Additional Information

No response

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the TC-SU-2.2 orchestration for Step 1 and Step 2, then trace how the OTA Provider is terminated and AnnounceOTAProvider is sent. Verify the UpdateState transition to Idle after Step 1 and ensure Step 2 begins only afterward, with the test reaching DelayedOnQuery without timing out.

Written by the indexing model from the issue text.

Assessment

Domain
embedded-iot, testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.