aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2019-03-18 14:56:21 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2019-06-03 14:03:01 +0200
commiteadcd3b252dde196de10874fe999e1af803f22d3 (patch)
treeac53ac5b03221429b7d3a347a0913cca36b5b894
parent05095ece6f726dfd2244d4ed1b7e47e35ba7a922 (diff)
pca9552-test: do not rely on state across tests
receive_autoinc is relying on the LED state that is set by send_and_receive. Stop doing that, because qgraph resets the machine between tests. Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--tests/pca9552-test.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/tests/pca9552-test.c b/tests/pca9552-test.c
index 06359b7435..89b4445e29 100644
--- a/tests/pca9552-test.c
+++ b/tests/pca9552-test.c
@@ -18,11 +18,20 @@
static I2CAdapter *i2c;
+static void pca9552_init(I2CAdapter *i2c)
+{
+ /* Switch on LEDs 0 and 12 */
+ i2c_set8(i2c, PCA9552_TEST_ADDR, PCA9552_LS0, 0x54);
+ i2c_set8(i2c, PCA9552_TEST_ADDR, PCA9552_LS3, 0x54);
+}
+
static void receive_autoinc(void)
{
uint8_t resp;
uint8_t reg = PCA9552_LS0 | PCA9552_AUTOINC;
+ pca9552_init(i2cdev);
+
i2c_send(i2c, PCA9552_TEST_ADDR, &reg, 1);
/* PCA9552_LS0 */
@@ -52,16 +61,14 @@ static void send_and_receive(void)
value = i2c_get8(i2c, PCA9552_TEST_ADDR, PCA9552_INPUT0);
g_assert_cmphex(value, ==, 0x0);
- /* Switch on LED 0 */
- i2c_set8(i2c, PCA9552_TEST_ADDR, PCA9552_LS0, 0x54);
+ pca9552_init(i2cdev);
+
value = i2c_get8(i2c, PCA9552_TEST_ADDR, PCA9552_LS0);
g_assert_cmphex(value, ==, 0x54);
value = i2c_get8(i2c, PCA9552_TEST_ADDR, PCA9552_INPUT0);
g_assert_cmphex(value, ==, 0x01);
- /* Switch on LED 12 */
- i2c_set8(i2c, PCA9552_TEST_ADDR, PCA9552_LS3, 0x54);
value = i2c_get8(i2c, PCA9552_TEST_ADDR, PCA9552_LS3);
g_assert_cmphex(value, ==, 0x54);