[mock_ddk] Convert goodix driver tests to mock_ddk
This is part of a set of changes to discontinue use of the fake_ddk.
New drivers are instead recommended to use the mock_ddk or depend on
//src/devices/testing/no_ddk to get the necessary functions linked in.
Testing: This is a change to test code.
Change-Id: I5faf65a8893b8f61d1fb5450e108e526916e053b
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/560248
Fuchsia-Auto-Submit: Garratt Gallagher <garratt@google.com>
Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com>
Reviewed-by: Suraj Malhotra <surajmalhotra@google.com>
diff --git a/src/ui/input/drivers/goodix/BUILD.gn b/src/ui/input/drivers/goodix/BUILD.gn
index c5e409d8e..0d14d59 100644
--- a/src/ui/input/drivers/goodix/BUILD.gn
+++ b/src/ui/input/drivers/goodix/BUILD.gn
@@ -101,7 +101,7 @@
"//src/devices/i2c/lib/device-protocol-i2c-channel",
"//src/devices/i2c/testing/fake-i2c",
"//src/devices/i2c/testing/mock-i2c",
- "//src/devices/testing/fake_ddk",
+ "//src/devices/testing/mock-ddk",
"//src/lib/ddk",
"//src/lib/ddk:ddk-metadata-headers",
"//src/lib/ddktl",
diff --git a/src/ui/input/drivers/goodix/gt92xx-firmware-test.cc b/src/ui/input/drivers/goodix/gt92xx-firmware-test.cc
index 34b83f0..7fd762d 100644
--- a/src/ui/input/drivers/goodix/gt92xx-firmware-test.cc
+++ b/src/ui/input/drivers/goodix/gt92xx-firmware-test.cc
@@ -6,7 +6,6 @@
#include <fuchsia/hardware/gpio/cpp/banjo-mock.h>
#include <fuchsia/hardware/gpio/cpp/banjo.h>
#include <lib/fake-i2c/fake-i2c.h>
-#include <lib/fake_ddk/fake_ddk.h>
#include <lib/fzl/vmo-mapper.h>
#include <array>
@@ -14,6 +13,7 @@
#include <zxtest/zxtest.h>
#include "gt92xx.h"
+#include "src/devices/testing/mock-ddk/mock-device.h"
namespace {
@@ -208,8 +208,9 @@
class Gt92xxTest : public Gt92xxDevice {
public:
- Gt92xxTest(ddk::I2cChannel i2c, ddk::GpioProtocolClient intr, ddk::GpioProtocolClient reset)
- : Gt92xxDevice(fake_ddk::kFakeParent, i2c, intr, reset) {}
+ Gt92xxTest(ddk::I2cChannel i2c, ddk::GpioProtocolClient intr, ddk::GpioProtocolClient reset,
+ zx_device_t* parent)
+ : Gt92xxDevice(parent, i2c, intr, reset) {}
void Running(bool run) { Gt92xxDevice::running_.store(run); }
@@ -268,7 +269,8 @@
.ExpectConfigOut(ZX_OK, 0)
.ExpectConfigIn(ZX_OK, GPIO_PULL_UP);
- Gt92xxTest device(i2c.GetProto(), intr.GetProto(), reset.GetProto());
+ auto fake_parent = MockDevice::FakeRootParent();
+ Gt92xxTest device(i2c.GetProto(), intr.GetProto(), reset.GetProto(), fake_parent.get());
EXPECT_OK(device.Init());
EXPECT_TRUE(i2c.FirmwareWritten());
EXPECT_EQ(i2c.CurrentState(), FakeTouchDevice::kReady);
@@ -290,7 +292,8 @@
.ExpectConfigIn(ZX_OK, GPIO_PULL_UP)
.ExpectGetInterrupt(ZX_OK, ZX_INTERRUPT_MODE_EDGE_LOW, {});
- Gt92xxTest device(i2c.GetProto(), intr.GetProto(), reset.GetProto());
+ auto fake_parent = MockDevice::FakeRootParent();
+ Gt92xxTest device(i2c.GetProto(), intr.GetProto(), reset.GetProto(), fake_parent.get());
EXPECT_OK(device.Init());
EXPECT_FALSE(i2c.FirmwareWritten());
EXPECT_EQ(i2c.CurrentState(), FakeTouchDevice::kIdle);
@@ -313,7 +316,8 @@
.ExpectConfigIn(ZX_OK, GPIO_PULL_UP)
.ExpectGetInterrupt(ZX_OK, ZX_INTERRUPT_MODE_EDGE_LOW, {});
- Gt92xxTest device(i2c.GetProto(), intr.GetProto(), reset.GetProto());
+ auto fake_parent = MockDevice::FakeRootParent();
+ Gt92xxTest device(i2c.GetProto(), intr.GetProto(), reset.GetProto(), fake_parent.get());
EXPECT_OK(device.Init());
EXPECT_FALSE(i2c.FirmwareWritten());
EXPECT_EQ(i2c.CurrentState(), FakeTouchDevice::kIdle);
@@ -350,7 +354,8 @@
.ExpectConfigOut(ZX_OK, 0)
.ExpectConfigIn(ZX_OK, GPIO_PULL_UP);
- Gt92xxTest device(i2c.GetProto(), intr.GetProto(), reset.GetProto());
+ auto fake_parent = MockDevice::FakeRootParent();
+ Gt92xxTest device(i2c.GetProto(), intr.GetProto(), reset.GetProto(), fake_parent.get());
EXPECT_OK(device.Init());
EXPECT_TRUE(i2c.FirmwareWritten());
EXPECT_EQ(i2c.CurrentState(), FakeTouchDevice::kReady);
@@ -370,7 +375,8 @@
corrupt_firmware_checksum = true;
- Gt92xxTest device(i2c.GetProto(), intr.GetProto(), reset.GetProto());
+ auto fake_parent = MockDevice::FakeRootParent();
+ Gt92xxTest device(i2c.GetProto(), intr.GetProto(), reset.GetProto(), fake_parent.get());
EXPECT_NOT_OK(device.Init());
EXPECT_FALSE(i2c.FirmwareWritten());
EXPECT_EQ(i2c.CurrentState(), FakeTouchDevice::kIdle);
@@ -394,7 +400,8 @@
reset.ExpectConfigOut(ZX_OK, 0).ExpectConfigOut(ZX_OK, 1);
intr.ExpectConfigOut(ZX_OK, 0);
- Gt92xxTest device(i2c.GetProto(), intr.GetProto(), reset.GetProto());
+ auto fake_parent = MockDevice::FakeRootParent();
+ Gt92xxTest device(i2c.GetProto(), intr.GetProto(), reset.GetProto(), fake_parent.get());
EXPECT_NOT_OK(device.Init());
EXPECT_TRUE(i2c.FirmwareWritten());
EXPECT_EQ(i2c.CurrentState(), FakeTouchDevice::kReadingDspIsp);
diff --git a/src/ui/input/drivers/goodix/gt92xx-test.cc b/src/ui/input/drivers/goodix/gt92xx-test.cc
index 7ccf573..c7f17b9 100644
--- a/src/ui/input/drivers/goodix/gt92xx-test.cc
+++ b/src/ui/input/drivers/goodix/gt92xx-test.cc
@@ -7,7 +7,6 @@
#include <fuchsia/hardware/gpio/cpp/banjo-mock.h>
#include <fuchsia/hardware/gpio/cpp/banjo.h>
#include <lib/ddk/metadata.h>
-#include <lib/fake_ddk/fake_ddk.h>
#include <lib/mock-i2c/mock-i2c.h>
#include <atomic>
@@ -16,12 +15,15 @@
#include <hid/gt92xx.h>
#include <zxtest/zxtest.h>
+#include "src/devices/testing/mock-ddk/mock-device.h"
+
namespace goodix {
class Gt92xxTest : public Gt92xxDevice {
public:
- Gt92xxTest(ddk::I2cChannel i2c, ddk::GpioProtocolClient intr, ddk::GpioProtocolClient reset)
- : Gt92xxDevice(fake_ddk::kFakeParent, i2c, intr, reset) {}
+ Gt92xxTest(ddk::I2cChannel i2c, ddk::GpioProtocolClient intr, ddk::GpioProtocolClient reset,
+ zx_device_t* parent)
+ : Gt92xxDevice(parent, i2c, intr, reset) {}
void Running(bool run) { Gt92xxDevice::running_.store(run); }
@@ -80,7 +82,8 @@
ddk::I2cChannel i2c(mock_i2c.GetProto());
- Gt92xxTest device(i2c, intr, reset);
+ auto fake_parent = MockDevice::FakeRootParent();
+ Gt92xxTest device(i2c, intr, reset, fake_parent.get());
mock_i2c
.ExpectWrite({static_cast<uint8_t>(GT_REG_CONFIG_DATA >> 8),
@@ -118,7 +121,8 @@
ddk::I2cChannel i2c(mock_i2c.GetProto());
- Gt92xxTest device(i2c, intr, reset);
+ auto fake_parent = MockDevice::FakeRootParent();
+ Gt92xxTest device(i2c, intr, reset, fake_parent.get());
fbl::Vector conf_data = Gt92xxDevice::GetConfData();
EXPECT_NE(conf_data[sizeof(uint16_t)], 0x00);
@@ -163,7 +167,8 @@
ddk::I2cChannel i2c(mock_i2c.GetProto());
- Gt92xxTest device(i2c, intr_mock.GetProto(), reset_mock.GetProto());
+ auto fake_parent = MockDevice::FakeRootParent();\
+ Gt92xxTest device(i2c, intr_mock.GetProto(), reset_mock.GetProto(), fake_parent.get());
EXPECT_OK(device.StartThread());
zx_nanosleep(zx_deadline_after(ZX_MSEC(10)));