diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2019-03-18 14:56:21 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2019-06-03 14:03:01 +0200 |
commit | eadcd3b252dde196de10874fe999e1af803f22d3 (patch) | |
tree | ac53ac5b03221429b7d3a347a0913cca36b5b894 /tests | |
parent | 05095ece6f726dfd2244d4ed1b7e47e35ba7a922 (diff) | |
download | qemu-eadcd3b252dde196de10874fe999e1af803f22d3.zip |
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>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/pca9552-test.c | 15 |
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, ®, 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); |