Skip to content
Switch branches/tags
Go to file

Latest commit

…#4684) (#4863)

… (#4684)

We need to account for duplicate expected results in our tests. The test report operates with an assumption that expected results are unique and actual results can be duplicated. When duplicate expected results happen (due to product issues), the test report makes it seem like we are missing some actual results. But we need to make it explicit that there are duplicate expected results, which should not be happening in our tests.

Here is what I mean. Imagine the following scenario:
Message 0 sent
Message 1 sent
Message 1 sent
Message 2 sent

~ time passes ~

Message 0 received
Message 1 received
Message 1 received
Message 2 received

In the TRC here are the expected / actual datastructures:
Expected: 0->1->1->2
Actual: 0->1->1->->2

When the TRC is processing the report it does not account for duplicate actual results. So it is the same scenario as this:
Expected: 0->1->1->2
Actual: 0->1->2


In processing the counting report, we match results 0 and 1. We see that there are duplicate actual results for 1 so we eliminate them. Then end up in this state which is the problem. Now the counting report will view the situation as we have an unmatched expected result with sequence number 1. This is not the case. 
Expected: 1->2
Actual: 2


The report looks indicates there is one unmatched result. But really all results are matched. It is just that there is a duplicate expected result. The test report will now reflect this by giving us the number of duplicate expected results that were seen.

Git stats


Failed to load latest commit information.
Latest commit message
Commit time

IoT Edge

Build Status

Welcome to the home of IoT Edge.

IoT Edge moves cloud analytics and custom business logic to devices so that your organization can focus on business insights instead of data management. Enable your solution to truly scale by configuring your IoT software, deploying it to devices via standard containers, and monitoring it all from the cloud. This repository consists of three main projects: the Edge Agent, the Edge Hub, and the IoT Edge Security Daemon.


Documentation for the Azure IoT Edge product can be found at


If you would like to build or change the IoT Edge source code, please follow the devguide.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact with any additional questions or comments.