mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-17 17:05:31 +00:00
Rename DeviceErrorCallback to ErrorCallback and add ErrorType arg
This same callback will be used for push/pop error scope. Bug: dawn:153 Change-Id: I2771539e13f8a4e6a59f13c8082689d25ba44905 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/10460 Commit-Queue: Austin Eng <enga@chromium.org> Reviewed-by: Kai Ninomiya <kainino@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
5603dc9044
commit
cb0cb658d4
@@ -482,7 +482,8 @@ bool DawnTest::EndExpectDeviceError() {
|
||||
}
|
||||
|
||||
// static
|
||||
void DawnTest::OnDeviceError(const char* message, void* userdata) {
|
||||
void DawnTest::OnDeviceError(DawnErrorType type, const char* message, void* userdata) {
|
||||
ASSERT(type != DAWN_ERROR_TYPE_NO_ERROR);
|
||||
DawnTest* self = static_cast<DawnTest*>(userdata);
|
||||
|
||||
ASSERT_TRUE(self->mExpectError) << "Got unexpected device error: " << message;
|
||||
|
||||
@@ -212,7 +212,7 @@ class DawnTest : public ::testing::TestWithParam<DawnTestParam> {
|
||||
std::unique_ptr<utils::TerribleCommandBuffer> mS2cBuf;
|
||||
|
||||
// Tracking for validation errors
|
||||
static void OnDeviceError(const char* message, void* userdata);
|
||||
static void OnDeviceError(DawnErrorType type, const char* message, void* userdata);
|
||||
bool mExpectError = false;
|
||||
bool mError = false;
|
||||
|
||||
|
||||
@@ -84,7 +84,8 @@ std::string ValidationTest::GetLastDeviceErrorMessage() const {
|
||||
}
|
||||
|
||||
// static
|
||||
void ValidationTest::OnDeviceError(const char* message, void* userdata) {
|
||||
void ValidationTest::OnDeviceError(DawnErrorType type, const char* message, void* userdata) {
|
||||
ASSERT(type != DAWN_ERROR_TYPE_NO_ERROR);
|
||||
auto self = static_cast<ValidationTest*>(userdata);
|
||||
self->mDeviceErrorMessage = message;
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ class ValidationTest : public testing::Test {
|
||||
std::unique_ptr<dawn_native::Instance> instance;
|
||||
|
||||
private:
|
||||
static void OnDeviceError(const char* message, void* userdata);
|
||||
static void OnDeviceError(DawnErrorType type, const char* message, void* userdata);
|
||||
std::string mDeviceErrorMessage;
|
||||
bool mExpectError = false;
|
||||
bool mError = false;
|
||||
|
||||
@@ -22,12 +22,12 @@ namespace {
|
||||
// Mock classes to add expectations on the wire calling callbacks
|
||||
class MockDeviceErrorCallback {
|
||||
public:
|
||||
MOCK_METHOD2(Call, void(const char* message, void* userdata));
|
||||
MOCK_METHOD3(Call, void(DawnErrorType type, const char* message, void* userdata));
|
||||
};
|
||||
|
||||
std::unique_ptr<StrictMock<MockDeviceErrorCallback>> mockDeviceErrorCallback;
|
||||
void ToMockDeviceErrorCallback(const char* message, void* userdata) {
|
||||
mockDeviceErrorCallback->Call(message, userdata);
|
||||
void ToMockDeviceErrorCallback(DawnErrorType type, const char* message, void* userdata) {
|
||||
mockDeviceErrorCallback->Call(type, message, userdata);
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
@@ -66,9 +66,9 @@ TEST_F(WireErrorCallbackTests, DeviceErrorCallback) {
|
||||
|
||||
// Calling the callback on the server side will result in the callback being called on the
|
||||
// client side
|
||||
api.CallDeviceErrorCallback(apiDevice, "Some error message");
|
||||
api.CallDeviceErrorCallback(apiDevice, DAWN_ERROR_TYPE_VALIDATION, "Some error message");
|
||||
|
||||
EXPECT_CALL(*mockDeviceErrorCallback, Call(StrEq("Some error message"), this)).Times(1);
|
||||
EXPECT_CALL(*mockDeviceErrorCallback, Call(DAWN_ERROR_TYPE_VALIDATION, StrEq("Some error message"), this)).Times(1);
|
||||
|
||||
FlushServer();
|
||||
}
|
||||
|
||||
@@ -22,12 +22,12 @@ namespace {
|
||||
// Mock classes to add expectations on the wire calling callbacks
|
||||
class MockDeviceErrorCallback {
|
||||
public:
|
||||
MOCK_METHOD2(Call, void(const char* message, void* userdata));
|
||||
MOCK_METHOD3(Call, void(DawnErrorType type, const char* message, void* userdata));
|
||||
};
|
||||
|
||||
std::unique_ptr<StrictMock<MockDeviceErrorCallback>> mockDeviceErrorCallback;
|
||||
void ToMockDeviceErrorCallback(const char* message, void* userdata) {
|
||||
mockDeviceErrorCallback->Call(message, userdata);
|
||||
void ToMockDeviceErrorCallback(DawnErrorType type, const char* message, void* userdata) {
|
||||
mockDeviceErrorCallback->Call(type, message, userdata);
|
||||
}
|
||||
|
||||
class MockFenceOnCompletionCallback {
|
||||
@@ -121,7 +121,7 @@ TEST_F(WireFenceTests, QueueSignalSuccess) {
|
||||
// signaled value
|
||||
TEST_F(WireFenceTests, QueueSignalSynchronousValidationSuccess) {
|
||||
dawnDeviceSetErrorCallback(device, ToMockDeviceErrorCallback, nullptr);
|
||||
EXPECT_CALL(*mockDeviceErrorCallback, Call(_, _)).Times(0);
|
||||
EXPECT_CALL(*mockDeviceErrorCallback, Call(_, _, _)).Times(0);
|
||||
|
||||
dawnQueueSignal(queue, fence, 2u);
|
||||
dawnQueueSignal(queue, fence, 4u);
|
||||
@@ -133,19 +133,19 @@ TEST_F(WireFenceTests, QueueSignalSynchronousValidationSuccess) {
|
||||
TEST_F(WireFenceTests, QueueSignalSynchronousValidationError) {
|
||||
dawnDeviceSetErrorCallback(device, ToMockDeviceErrorCallback, nullptr);
|
||||
|
||||
EXPECT_CALL(*mockDeviceErrorCallback, Call(_, _)).Times(1);
|
||||
EXPECT_CALL(*mockDeviceErrorCallback, Call(DAWN_ERROR_TYPE_VALIDATION, _, _)).Times(1);
|
||||
dawnQueueSignal(queue, fence, 0u); // Error
|
||||
EXPECT_TRUE(Mock::VerifyAndClear(mockDeviceErrorCallback.get()));
|
||||
|
||||
EXPECT_CALL(*mockDeviceErrorCallback, Call(_, _)).Times(1);
|
||||
EXPECT_CALL(*mockDeviceErrorCallback, Call(DAWN_ERROR_TYPE_VALIDATION, _, _)).Times(1);
|
||||
dawnQueueSignal(queue, fence, 1u); // Error
|
||||
EXPECT_TRUE(Mock::VerifyAndClear(mockDeviceErrorCallback.get()));
|
||||
|
||||
EXPECT_CALL(*mockDeviceErrorCallback, Call(_, _)).Times(0);
|
||||
EXPECT_CALL(*mockDeviceErrorCallback, Call(_, _, _)).Times(0);
|
||||
dawnQueueSignal(queue, fence, 4u); // Success
|
||||
EXPECT_TRUE(Mock::VerifyAndClear(mockDeviceErrorCallback.get()));
|
||||
|
||||
EXPECT_CALL(*mockDeviceErrorCallback, Call(_, _)).Times(1);
|
||||
EXPECT_CALL(*mockDeviceErrorCallback, Call(DAWN_ERROR_TYPE_VALIDATION, _, _)).Times(1);
|
||||
dawnQueueSignal(queue, fence, 3u); // Error
|
||||
EXPECT_TRUE(Mock::VerifyAndClear(mockDeviceErrorCallback.get()));
|
||||
}
|
||||
@@ -221,7 +221,7 @@ TEST_F(WireFenceTests, OnCompletionSynchronousValidationError) {
|
||||
|
||||
EXPECT_CALL(*mockFenceOnCompletionCallback, Call(DAWN_FENCE_COMPLETION_STATUS_ERROR, this + 0))
|
||||
.Times(1);
|
||||
EXPECT_CALL(*mockDeviceErrorCallback, Call(_, this + 1)).Times(1);
|
||||
EXPECT_CALL(*mockDeviceErrorCallback, Call(DAWN_ERROR_TYPE_VALIDATION, _, this + 1)).Times(1);
|
||||
|
||||
dawnFenceOnCompletion(fence, 2u, ToMockFenceOnCompletionCallback, this + 0);
|
||||
}
|
||||
@@ -263,7 +263,7 @@ TEST_F(WireFenceTests, SignalWrongQueue) {
|
||||
FlushClient();
|
||||
|
||||
dawnDeviceSetErrorCallback(device, ToMockDeviceErrorCallback, nullptr);
|
||||
EXPECT_CALL(*mockDeviceErrorCallback, Call(_, _)).Times(1);
|
||||
EXPECT_CALL(*mockDeviceErrorCallback, Call(DAWN_ERROR_TYPE_VALIDATION, _, _)).Times(1);
|
||||
dawnQueueSignal(queue2, fence, 2u); // error
|
||||
}
|
||||
|
||||
@@ -275,7 +275,7 @@ TEST_F(WireFenceTests, SignalWrongQueueDoesNotUpdateValue) {
|
||||
FlushClient();
|
||||
|
||||
dawnDeviceSetErrorCallback(device, ToMockDeviceErrorCallback, nullptr);
|
||||
EXPECT_CALL(*mockDeviceErrorCallback, Call(_, _)).Times(1);
|
||||
EXPECT_CALL(*mockDeviceErrorCallback, Call(DAWN_ERROR_TYPE_VALIDATION, _, _)).Times(1);
|
||||
dawnQueueSignal(queue2, fence, 2u); // error
|
||||
|
||||
// Fence value should be unchanged.
|
||||
|
||||
Reference in New Issue
Block a user