On Wed, Nov 15, 2023 at 12:08:38PM +0530, Love Kumar wrote: > Add below test cases for i2c commands: > i2c_bus - To show i2c bus info, > i2c_dev - To set or show the current bus, > i2c_probe - To probe the i2c device, > i2c_eeprom - To test i2c eeprom device, > i2c_probe_all_buses - To list down all the buses and probes it > > Signed-off-by: Love Kumar <love.ku...@amd.com> > --- > test/py/tests/test_i2c.py | 107 ++++++++++++++++++++++++++++++++++++++ > 1 file changed, 107 insertions(+) > create mode 100644 test/py/tests/test_i2c.py
I'm mostly happy with this test. I enabled it for one of my platforms with an EEPROM and: > +@pytest.mark.buildconfigspec("cmd_i2c") > +def test_i2c_eeprom(u_boot_console): > + f = u_boot_console.config.env.get("env__i2c_eeprom_device_test", None) > + if not f: > + pytest.skip("No I2C eeprom to test!") > + > + bus = f.get("bus", 0) > + if bus < 0: > + pytest.fail("No bus specified via env__i2c_eeprom_device_test!") > + > + addr = f.get("eeprom_addr", -1) > + if addr < 0: > + pytest.fail("No eeprom address specified via > env__i2c_eeprom_device_test!") > + > + # Enable i2c mux bridge > + u_boot_console.run_command("i2c dev %x" % bus) > + u_boot_console.run_command("i2c probe") > + val_int = random.randint(0, 255) > + value = format(val_int, "02x") > + u_boot_console.run_command("i2c mw %x 0 %x 5" % (addr, val_int)) > + expected_response = f"0000: {value} {value} {value} {value} {value} " > + response = u_boot_console.run_command("i2c md %x 0 5" % addr) > + assert expected_response in response So this is a destructive test, yes? That's fine for QEMU but on real hardware that's a problem. Doubly so since I need the contents to be correct as they already are. Can we change this such that we probe the eeprom and then read back the configured correct value instead? -- Tom
signature.asc
Description: PGP signature