Update hipStreamGetFlags testing (#2565)

Added new negative test case scenarios
Changed assertions to check for a specific flag.
Este commit está contenido en:
Fábio
2022-06-02 06:36:55 +01:00
cometido por GitHub
padre b64d0cff29
commit aa9c3859f8
+31 -40
Ver fichero
@@ -1,5 +1,5 @@
/*
Copyright (c) 2021 Advanced Micro Devices, Inc. All rights reserved.
Copyright (c) 2022 Advanced Micro Devices, Inc. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
@@ -27,52 +27,43 @@ Testcase Scenarios :
#include <hip_test_common.hh>
/**
* Test flag value of stream created with various types.
* @brief Check that hipStreamGetFlags returns the same flags that were used to create the stream.
*
*/
TEST_CASE("Unit_hipStreamGetFlags_BasicFunctionalities") {
TEST_CASE("Unit_hipStreamGetFlags_Basic") {
unsigned int expectedFlag = GENERATE(hipStreamDefault, hipStreamNonBlocking);
unsigned int returnedFlags;
hipStream_t stream;
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);
HIP_CHECK(hipStreamDestroy(stream));
HIP_CHECK(hipStreamCreateWithFlags(&stream, hipStreamNonBlocking));
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));
}
HIP_CHECK(hipStreamCreateWithFlags(&stream, expectedFlag));
HIP_CHECK(hipStreamGetFlags(stream, &returnedFlags));
REQUIRE((returnedFlags & expectedFlag) == expectedFlag);
HIP_CHECK(hipStreamDestroy(stream));
}
/**
* Negative Scenarios
* @brief Negative scenarios for hipStreamGetFlags.
*
*/
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));
hipStream_t validStream;
unsigned int flags;
HIP_CHECK(hipStreamCreate(&validStream));
SECTION("Nullptr Stream && Valid Flags") { /* EXSWCPHIPT-17 */
#if HT_AMD
HIP_CHECK_ERROR(hipStreamGetFlags(nullptr, &flags), hipErrorInvalidValue);
#elif HT_NVIDIA
HIP_CHECK(hipStreamGetFlags(nullptr, &flags));
#endif
}
SECTION("Valid Stream && Nullptr Flags") {
HIP_CHECK_ERROR(hipStreamGetFlags(validStream, nullptr), hipErrorInvalidValue);
}
HIP_CHECK(hipStreamDestroy(validStream));
}
#if HT_AMD