SWDEV-292643 - [dtest] Catch2 additional unit tests for stream management apis. (#2349)

APIs covered :
hipStreamGetPriority, hipStreamCreate, hipStreamGetFlags, hipExtStreamGetCUMask apis.

Change-Id: I238b4e631938471eab05c598f91477eeb0856054

[ROCm/hip commit: bef1aa7ee6]
Esse commit está contido em:
sumanthtg
2021-09-17 11:39:25 +05:30
commit de GitHub
commit 2d35d4b1f5
5 arquivos alterados com 376 adições e 12 exclusões
@@ -16,16 +16,24 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
/**
Testcase Scenarios :
1) Test flag value of stream created with hipStreamCreateWithFlags/
/hipStreamCreate/hipStreamCreateWithPriority.
2) Negative tests for hipStreamGetFlags api.
3) Test flag value when streams created with CUMask.
*/
#include <hip_test_common.hh>
TEST_CASE("Unit_hipStreamGetFlags_Negative") {
// Get flags for uninitialized stream
/**
* Test flag value of stream created with various types.
*/
TEST_CASE("Unit_hipStreamGetFlags_BasicFunctionalities") {
hipStream_t stream;
HIP_CHECK(hipStreamCreateWithFlags(&stream, hipStreamDefault));
REQUIRE(hipStreamGetFlags(stream, nullptr) == hipErrorInvalidValue);
}
TEST_CASE("Unit_hipStreamGetFlags") {
hipStream_t stream;
unsigned int flags;
unsigned int flags;
// Check flag value of stream created with hipStreamCreateWithFlags
SECTION("Check flag value of streams hipStreamCreateWithFlags") {
HIP_CHECK(hipStreamCreateWithFlags(&stream, hipStreamDefault));
HIP_CHECK(hipStreamGetFlags(stream, &flags));
REQUIRE(flags == hipStreamDefault);
@@ -34,4 +42,50 @@ TEST_CASE("Unit_hipStreamGetFlags") {
HIP_CHECK(hipStreamGetFlags(stream, &flags));
REQUIRE(flags == hipStreamNonBlocking);
HIP_CHECK(hipStreamDestroy(stream));
}
// Check flag value of stream created with hipStreamCreate
SECTION("Check flag value of streams hipStreamCreate") {
HIP_CHECK(hipStreamCreate(&stream));
HIP_CHECK(hipStreamGetFlags(stream, &flags));
REQUIRE(flags == hipStreamDefault);
HIP_CHECK(hipStreamDestroy(stream));
}
// Check flag value of stream created with hipStreamCreateWithPriority
SECTION("Check flag value of streams hipStreamCreateWithPriority") {
HIP_CHECK(hipStreamCreateWithPriority(&stream, hipStreamDefault, 0));
HIP_CHECK(hipStreamGetFlags(stream, &flags));
REQUIRE(flags == hipStreamDefault);
HIP_CHECK(hipStreamDestroy(stream));
HIP_CHECK(hipStreamCreateWithPriority(&stream, hipStreamNonBlocking, 0));
HIP_CHECK(hipStreamGetFlags(stream, &flags));
REQUIRE(flags == hipStreamNonBlocking);
HIP_CHECK(hipStreamDestroy(stream));
}
}
/**
* Negative Scenarios
*/
TEST_CASE("Unit_hipStreamGetFlags_Negative") {
hipStream_t stream;
HIP_CHECK(hipStreamCreate(&stream));
// nullptr check
REQUIRE(hipStreamGetFlags(stream, nullptr) != hipSuccess);
REQUIRE(hipStreamGetFlags(nullptr, hipStreamDefault) != hipSuccess);
HIP_CHECK(hipStreamDestroy(stream));
}
#if HT_AMD
/**
* Test flag value when streams created with CUMask.
*/
TEST_CASE("Unit_hipStreamGetFlags_StreamsCreatedWithCUMask") {
hipStream_t stream;
unsigned int flags;
const uint32_t cuMask = 0xffffffff;
HIP_CHECK(hipExtStreamCreateWithCUMask(&stream, 1, &cuMask));
HIP_CHECK(hipStreamGetFlags(stream, &flags));
REQUIRE(flags == hipStreamDefault);
HIP_CHECK(hipStreamDestroy(stream));
}
#endif