[PATCH] test: Use ut_asserteq_mem() where possible

Heinrich Schuchardt xypron.glpk at gmx.de
Sun May 10 21:15:54 CEST 2020


Am May 10, 2020 5:33:06 PM UTC schrieb Simon Glass <sjg at chromium.org>:
>Quite a few tests still use ut_assertok(memcmp(...)) and variants.
>Modify
>them to use the macro designed for this purpose.
>
>Suggested-by: Wolfgang Wallner <wolfgang.wallner at br-automation.com>
>
>Signed-off-by: Simon Glass <sjg at chromium.org>

Acked-by: Heinrich Schuchardt <xypron.glpk at gmx.de>

>---
>
> test/compression.c |   8 +--
> test/dm/acpi.c     |   6 +-
> test/dm/axi.c      |   4 +-
> test/dm/dma.c      |   6 +-
> test/dm/eth.c      |  12 ++--
> test/dm/i2c.c      |  18 +++---
> test/dm/misc.c     |  10 ++--
> test/dm/osd.c      | 134 ++++++++++++++++++++++++---------------------
> test/unicode_ut.c  |   6 +-
> 9 files changed, 107 insertions(+), 97 deletions(-)
>
>diff --git a/test/compression.c b/test/compression.c
>index ad719ddb4d..a2a4b9ff9e 100644
>--- a/test/compression.c
>+++ b/test/compression.c
>@@ -164,7 +164,7 @@ static int compress_using_bzip2(struct
>unit_test_state *uts,
> {
> 	/* There is no bzip2 compression in u-boot, so fake it. */
> 	ut_asserteq(in_size, strlen(plain));
>-	ut_asserteq(0, memcmp(plain, in, in_size));
>+	ut_asserteq_mem(plain, in, in_size);
> 
> 	if (bzip2_compressed_size > out_max)
> 		return -1;
>@@ -199,7 +199,7 @@ static int compress_using_lzma(struct
>unit_test_state *uts,
> {
> 	/* There is no lzma compression in u-boot, so fake it. */
> 	ut_asserteq(in_size,  strlen(plain));
>-	ut_asserteq(0, memcmp(plain, in, in_size));
>+	ut_asserteq_mem(plain, in, in_size);
> 
> 	if (lzma_compressed_size > out_max)
> 		return -1;
>@@ -233,7 +233,7 @@ static int compress_using_lzo(struct
>unit_test_state *uts,
> {
> 	/* There is no lzo compression in u-boot, so fake it. */
> 	ut_asserteq(in_size,  strlen(plain));
>-	ut_asserteq(0, memcmp(plain, in, in_size));
>+	ut_asserteq_mem(plain, in, in_size);
> 
> 	if (lzo_compressed_size > out_max)
> 		return -1;
>@@ -268,7 +268,7 @@ static int compress_using_lz4(struct
>unit_test_state *uts,
> {
> 	/* There is no lz4 compression in u-boot, so fake it. */
> 	ut_asserteq(in_size,  strlen(plain));
>-	ut_asserteq(0, memcmp(plain, in, in_size));
>+	ut_asserteq_mem(plain, in, in_size);
> 
> 	if (lz4_compressed_size > out_max)
> 		return -1;
>diff --git a/test/dm/acpi.c b/test/dm/acpi.c
>index 4952256ce1..7768f9514c 100644
>--- a/test/dm/acpi.c
>+++ b/test/dm/acpi.c
>@@ -316,20 +316,20 @@ static int dm_test_acpi_setup_base_tables(struct
>unit_test_state *uts)
> 
> 	rsdp = buf + 16;
> 	ut_asserteq_ptr(rsdp, ctx.rsdp);
>-	ut_assertok(memcmp(RSDP_SIG, rsdp->signature,
>sizeof(rsdp->signature)));
>+	ut_asserteq_mem(RSDP_SIG, rsdp->signature, sizeof(rsdp->signature));
> 	ut_asserteq(sizeof(*rsdp), rsdp->length);
> 	ut_assertok(table_compute_checksum(rsdp, 20));
> 	ut_assertok(table_compute_checksum(rsdp, sizeof(*rsdp)));
> 
> 	rsdt = PTR_ALIGN((void *)rsdp + sizeof(*rsdp), 16);
> 	ut_asserteq_ptr(rsdt, ctx.rsdt);
>-	ut_assertok(memcmp("RSDT", rsdt->header.signature, ACPI_NAME_LEN));
>+	ut_asserteq_mem("RSDT", rsdt->header.signature, ACPI_NAME_LEN);
> 	ut_asserteq(sizeof(*rsdt), rsdt->header.length);
> 	ut_assertok(table_compute_checksum(rsdt, sizeof(*rsdt)));
> 
> 	xsdt = PTR_ALIGN((void *)rsdt + sizeof(*rsdt), 16);
> 	ut_asserteq_ptr(xsdt, ctx.xsdt);
>-	ut_assertok(memcmp("XSDT", xsdt->header.signature, ACPI_NAME_LEN));
>+	ut_asserteq_mem("XSDT", xsdt->header.signature, ACPI_NAME_LEN);
> 	ut_asserteq(sizeof(*xsdt), xsdt->header.length);
> 	ut_assertok(table_compute_checksum(xsdt, sizeof(*xsdt)));
> 
>diff --git a/test/dm/axi.c b/test/dm/axi.c
>index 289f07a08a..e1155a51dd 100644
>--- a/test/dm/axi.c
>+++ b/test/dm/axi.c
>@@ -66,11 +66,11 @@ static int dm_test_axi_store(struct unit_test_state
>*uts)
> 	/* Test writing */
> 	val = 0x55667788;
> 	axi_write(store, 0, &val, AXI_SIZE_32);
>-	ut_asserteq(0, memcmp(data, tdata1, ARRAY_SIZE(tdata1)));
>+	ut_asserteq_mem(data, tdata1, ARRAY_SIZE(tdata1));
> 
> 	val = 0xaabbccdd;
> 	axi_write(store, 3, &val, AXI_SIZE_32);
>-	ut_asserteq(0, memcmp(data + 3, tdata2, ARRAY_SIZE(tdata1)));
>+	ut_asserteq_mem(data + 3, tdata2, ARRAY_SIZE(tdata1));
> 
> 	return 0;
> }
>diff --git a/test/dm/dma.c b/test/dm/dma.c
>index 12cba57a56..317ed4fe8c 100644
>--- a/test/dm/dma.c
>+++ b/test/dm/dma.c
>@@ -30,8 +30,8 @@ static int dm_test_dma_m2m(struct unit_test_state
>*uts)
> 		src_buf[i] = i;
> 
> 	ut_assertok(dma_memcpy(dst_buf, src_buf, len));
>+	ut_asserteq_mem(src_buf, dst_buf, len);
> 
>-	ut_assertok(memcmp(src_buf, dst_buf, len));
> 	return 0;
> }
> DM_TEST(dm_test_dma_m2m, DM_TESTF_SCAN_FDT);
>@@ -72,7 +72,7 @@ static int dm_test_dma(struct unit_test_state *uts)
> 
> 	ut_assertok(dma_free(&dma_tx));
> 	ut_assertok(dma_free(&dma_rx));
>-	ut_assertok(memcmp(src_buf, dst_buf, len));
>+	ut_asserteq_mem(src_buf, dst_buf, len);
> 
> 	return 0;
> }
>@@ -117,7 +117,7 @@ static int dm_test_dma_rx(struct unit_test_state
>*uts)
> 
> 	ut_assertok(dma_free(&dma_tx));
> 	ut_assertok(dma_free(&dma_rx));
>-	ut_assertok(memcmp(src_buf, dst_buf, len));
>+	ut_asserteq_mem(src_buf, dst_buf, len);
> 
> 	return 0;
> }
>diff --git a/test/dm/eth.c b/test/dm/eth.c
>index 99c1672b99..1fddcaabb0 100644
>--- a/test/dm/eth.c
>+++ b/test/dm/eth.c
>@@ -282,17 +282,17 @@ static int sb_check_arp_reply(struct udevice
>*dev, void *packet,
> 	ut_assert(arp_is_waiting());
> 
> 	/* Validate response */
>-	ut_assert(memcmp(eth->et_src, net_ethaddr, ARP_HLEN) == 0);
>-	ut_assert(memcmp(eth->et_dest, priv->fake_host_hwaddr, ARP_HLEN) ==
>0);
>+	ut_asserteq_mem(eth->et_src, net_ethaddr, ARP_HLEN);
>+	ut_asserteq_mem(eth->et_dest, priv->fake_host_hwaddr, ARP_HLEN);
> 	ut_assert(eth->et_protlen == htons(PROT_ARP));
> 
> 	ut_assert(arp->ar_hrd == htons(ARP_ETHER));
> 	ut_assert(arp->ar_pro == htons(PROT_IP));
> 	ut_assert(arp->ar_hln == ARP_HLEN);
> 	ut_assert(arp->ar_pln == ARP_PLEN);
>-	ut_assert(memcmp(&arp->ar_sha, net_ethaddr, ARP_HLEN) == 0);
>+	ut_asserteq_mem(&arp->ar_sha, net_ethaddr, ARP_HLEN);
> 	ut_assert(net_read_ip(&arp->ar_spa).s_addr == net_ip.s_addr);
>-	ut_assert(memcmp(&arp->ar_tha, priv->fake_host_hwaddr, ARP_HLEN) ==
>0);
>+	ut_asserteq_mem(&arp->ar_tha, priv->fake_host_hwaddr, ARP_HLEN);
> 	ut_assert(net_read_ip(&arp->ar_tpa).s_addr ==
> 		  string_to_ip("1.1.2.4").s_addr);
> 
>@@ -373,8 +373,8 @@ static int sb_check_ping_reply(struct udevice *dev,
>void *packet,
> 	ut_assert(arp_is_waiting());
> 
> 	/* Validate response */
>-	ut_assert(memcmp(eth->et_src, net_ethaddr, ARP_HLEN) == 0);
>-	ut_assert(memcmp(eth->et_dest, priv->fake_host_hwaddr, ARP_HLEN) ==
>0);
>+	ut_asserteq_mem(eth->et_src, net_ethaddr, ARP_HLEN);
>+	ut_asserteq_mem(eth->et_dest, priv->fake_host_hwaddr, ARP_HLEN);
> 	ut_assert(eth->et_protlen == htons(PROT_IP));
> 
> 	ut_assert(net_read_ip(&ip->ip_src).s_addr == net_ip.s_addr);
>diff --git a/test/dm/i2c.c b/test/dm/i2c.c
>index cadbb43b9e..2025c4216d 100644
>--- a/test/dm/i2c.c
>+++ b/test/dm/i2c.c
>@@ -51,10 +51,10 @@ static int dm_test_i2c_read_write(struct
>unit_test_state *uts)
> 	ut_assertok(uclass_get_device_by_seq(UCLASS_I2C, busnum, &bus));
> 	ut_assertok(i2c_get_chip(bus, chip, 1, &dev));
> 	ut_assertok(dm_i2c_read(dev, 0, buf, 5));
>-	ut_assertok(memcmp(buf, "\0\0\0\0\0", sizeof(buf)));
>+	ut_asserteq_mem(buf, "\0\0\0\0\0", sizeof(buf));
> 	ut_assertok(dm_i2c_write(dev, 2, (uint8_t *)"AB", 2));
> 	ut_assertok(dm_i2c_read(dev, 0, buf, 5));
>-	ut_assertok(memcmp(buf, "\0\0AB\0", sizeof(buf)));
>+	ut_asserteq_mem(buf, "\0\0AB\0", sizeof(buf));
> 
> 	return 0;
> }
>@@ -123,7 +123,7 @@ static int dm_test_i2c_bytewise(struct
>unit_test_state *uts)
> 	ut_assertok(uclass_get_device_by_seq(UCLASS_I2C, busnum, &bus));
> 	ut_assertok(i2c_get_chip(bus, chip, 1, &dev));
> 	ut_assertok(dm_i2c_read(dev, 0, buf, 5));
>-	ut_assertok(memcmp(buf, "\0\0\0\0\0", sizeof(buf)));
>+	ut_asserteq_mem(buf, "\0\0\0\0\0", sizeof(buf));
> 
> 	/* Tell the EEPROM to only read/write one register at a time */
> 	ut_assertok(uclass_first_device(UCLASS_I2C_EMUL, &eeprom));
>@@ -132,34 +132,34 @@ static int dm_test_i2c_bytewise(struct
>unit_test_state *uts)
> 
> 	/* Now we only get the first byte - the rest will be 0xff */
> 	ut_assertok(dm_i2c_read(dev, 0, buf, 5));
>-	ut_assertok(memcmp(buf, "\0\xff\xff\xff\xff", sizeof(buf)));
>+	ut_asserteq_mem(buf, "\0\xff\xff\xff\xff", sizeof(buf));
> 
> 	/* If we do a separate transaction for each byte, it works */
> 	ut_assertok(i2c_set_chip_flags(dev, DM_I2C_CHIP_RD_ADDRESS));
> 	ut_assertok(dm_i2c_read(dev, 0, buf, 5));
>-	ut_assertok(memcmp(buf, "\0\0\0\0\0", sizeof(buf)));
>+	ut_asserteq_mem(buf, "\0\0\0\0\0", sizeof(buf));
> 
> 	/* This will only write A */
> 	ut_assertok(i2c_set_chip_flags(dev, 0));
> 	ut_assertok(dm_i2c_write(dev, 2, (uint8_t *)"AB", 2));
> 	ut_assertok(dm_i2c_read(dev, 0, buf, 5));
>-	ut_assertok(memcmp(buf, "\0\xff\xff\xff\xff", sizeof(buf)));
>+	ut_asserteq_mem(buf, "\0\xff\xff\xff\xff", sizeof(buf));
> 
> 	/* Check that the B was ignored */
> 	ut_assertok(i2c_set_chip_flags(dev, DM_I2C_CHIP_RD_ADDRESS));
> 	ut_assertok(dm_i2c_read(dev, 0, buf, 5));
>-	ut_assertok(memcmp(buf, "\0\0A\0\0\0", sizeof(buf)));
>+	ut_asserteq_mem(buf, "\0\0A\0\0\0", sizeof(buf));
> 
> 	/* Now write it again with the new flags, it should work */
> 	ut_assertok(i2c_set_chip_flags(dev, DM_I2C_CHIP_WR_ADDRESS));
> 	ut_assertok(dm_i2c_write(dev, 2, (uint8_t *)"AB", 2));
> 	ut_assertok(dm_i2c_read(dev, 0, buf, 5));
>-	ut_assertok(memcmp(buf, "\0\xff\xff\xff\xff", sizeof(buf)));
>+	ut_asserteq_mem(buf, "\0\xff\xff\xff\xff", sizeof(buf));
> 
> 	ut_assertok(i2c_set_chip_flags(dev, DM_I2C_CHIP_WR_ADDRESS |
> 						DM_I2C_CHIP_RD_ADDRESS));
> 	ut_assertok(dm_i2c_read(dev, 0, buf, 5));
>-	ut_assertok(memcmp(buf, "\0\0AB\0\0", sizeof(buf)));
>+	ut_asserteq_mem(buf, "\0\0AB\0\0", sizeof(buf));
> 
> 	/* Restore defaults */
> 	sandbox_i2c_eeprom_set_test_mode(eeprom, SIE_TEST_MODE_NONE);
>diff --git a/test/dm/misc.c b/test/dm/misc.c
>index 4d4232adf1..26fd6acecb 100644
>--- a/test/dm/misc.c
>+++ b/test/dm/misc.c
>@@ -25,24 +25,24 @@ static int dm_test_misc(struct unit_test_state
>*uts)
> 	ut_asserteq(5, misc_write(dev, 4, "WRITE", 5));
> 	ut_asserteq(9, misc_read(dev, 0, buf, 9));
> 
>-	ut_assertok(memcmp(buf, "TESTWRITE", 9));
>+	ut_asserteq_mem(buf, "TESTWRITE", 9);
> 
> 	/* Call tests */
> 
> 	id = 0;
> 	ut_assertok(misc_call(dev, 0, &id, 4, buf, 16));
>-	ut_assertok(memcmp(buf, "Zero", 4));
>+	ut_asserteq_mem(buf, "Zero", 4);
> 
> 	id = 2;
> 	ut_assertok(misc_call(dev, 0, &id, 4, buf, 16));
>-	ut_assertok(memcmp(buf, "Two", 3));
>+	ut_asserteq_mem(buf, "Two", 3);
> 
> 	ut_assertok(misc_call(dev, 1, &id, 4, buf, 16));
>-	ut_assertok(memcmp(buf, "Forty-two", 9));
>+	ut_asserteq_mem(buf, "Forty-two", 9);
> 
> 	id = 1;
> 	ut_assertok(misc_call(dev, 1, &id, 4, buf, 16));
>-	ut_assertok(memcmp(buf, "Forty-one", 9));
>+	ut_asserteq_mem(buf, "Forty-one", 9);
> 
> 	/* IOCTL tests */
> 
>diff --git a/test/dm/osd.c b/test/dm/osd.c
>index 6910690b3a..5739dfa0b8 100644
>--- a/test/dm/osd.c
>+++ b/test/dm/osd.c
>@@ -71,27 +71,29 @@ static int dm_test_osd_basics(struct
>unit_test_state *uts)
> 	ut_assertok(sandbox_osd_get_mem(dev, mem, memsize));
> 	split(mem, memsize / 2, text, colors);
> 
>-	ut_assertok(memcmp(text, "          "
>-				 "          "
>-				 "          "
>-				 "          "
>-				 "          "
>-				 "          "
>-				 "          "
>-				 "          "
>-				 "          "
>-				 "          ", memsize / 2));
>-
>-	ut_assertok(memcmp(colors, "kkkkkkkkkk"
>-				   "kkkkkkkkkk"
>-				   "kkkkkkkkkk"
>-				   "kkkkkkkkkk"
>-				   "kkkkkkkkkk"
>-				   "kkkkkkkkkk"
>-				   "kkkkkkkkkk"
>-				   "kkkkkkkkkk"
>-				   "kkkkkkkkkk"
>-				   "kkkkkkkkkk", memsize / 2));
>+	ut_asserteq_mem(text,
>+			"          "
>+			"          "
>+			"          "
>+			"          "
>+			"          "
>+			"          "
>+			"          "
>+			"          "
>+			"          "
>+			"          ", memsize / 2);
>+
>+	ut_asserteq_mem(colors,
>+			"kkkkkkkkkk"
>+			"kkkkkkkkkk"
>+			"kkkkkkkkkk"
>+			"kkkkkkkkkk"
>+			"kkkkkkkkkk"
>+			"kkkkkkkkkk"
>+			"kkkkkkkkkk"
>+			"kkkkkkkkkk"
>+			"kkkkkkkkkk"
>+			"kkkkkkkkkk", memsize / 2);
> 
> 	print_mem(mem, 10, 10);
> 
>@@ -100,27 +102,29 @@ static int dm_test_osd_basics(struct
>unit_test_state *uts)
> 	ut_assertok(sandbox_osd_get_mem(dev, mem, memsize));
> 	split(mem, memsize / 2, text, colors);
> 
>-	ut_assertok(memcmp(text, "          "
>-				 " Blah     "
>-				 "          "
>-				 "          "
>-				 "          "
>-				 "          "
>-				 "          "
>-				 "          "
>-				 "          "
>-				 "          ", memsize / 2));
>-
>-	ut_assertok(memcmp(colors, "kkkkkkkkkk"
>-				   "krrrrkkkkk"
>-				   "kkkkkkkkkk"
>-				   "kkkkkkkkkk"
>-				   "kkkkkkkkkk"
>-				   "kkkkkkkkkk"
>-				   "kkkkkkkkkk"
>-				   "kkkkkkkkkk"
>-				   "kkkkkkkkkk"
>-				   "kkkkkkkkkk", memsize / 2));
>+	ut_asserteq_mem(text,
>+			"          "
>+			" Blah     "
>+			"          "
>+			"          "
>+			"          "
>+			"          "
>+			"          "
>+			"          "
>+			"          "
>+			"          ", memsize / 2);
>+
>+	ut_asserteq_mem(colors,
>+			"kkkkkkkkkk"
>+			"krrrrkkkkk"
>+			"kkkkkkkkkk"
>+			"kkkkkkkkkk"
>+			"kkkkkkkkkk"
>+			"kkkkkkkkkk"
>+			"kkkkkkkkkk"
>+			"kkkkkkkkkk"
>+			"kkkkkkkkkk"
>+			"kkkkkkkkkk", memsize / 2);
> 
> 	print_mem(mem, 10, 10);
> 
>@@ -152,17 +156,19 @@ static int dm_test_osd_extended(struct
>unit_test_state *uts)
> 	ut_assertok(sandbox_osd_get_mem(dev, mem, memsize));
> 	split(mem, memsize / 2, text, colors);
> 
>-	ut_assertok(memcmp(text, "                    "
>-				 "                    "
>-				 "                    "
>-				 "                    "
>-				 "                    ", memsize / 2));
>+	ut_asserteq_mem(text,
>+			"                    "
>+			"                    "
>+			"                    "
>+			"                    "
>+			"                    ", memsize / 2);
> 
>-	ut_assertok(memcmp(colors, "kkkkkkkkkkkkkkkkkkkk"
>-				   "kkkkkkkkkkkkkkkkkkkk"
>-				   "kkkkkkkkkkkkkkkkkkkk"
>-				   "kkkkkkkkkkkkkkkkkkkk"
>-				   "kkkkkkkkkkkkkkkkkkkk", memsize / 2));
>+	ut_asserteq_mem(colors,
>+			"kkkkkkkkkkkkkkkkkkkk"
>+			"kkkkkkkkkkkkkkkkkkkk"
>+			"kkkkkkkkkkkkkkkkkkkk"
>+			"kkkkkkkkkkkkkkkkkkkk"
>+			"kkkkkkkkkkkkkkkkkkkk", memsize / 2);
> 
> 	print_mem(mem, 20, 5);
> 
>@@ -192,17 +198,19 @@ static int dm_test_osd_extended(struct
>unit_test_state *uts)
> 
> 	print_mem(mem, 20, 5);
> 
>-	ut_assertok(memcmp(text, "+---- OSD menu ----+"
>-				 "|  *  Entry 1      |"
>-				 "| (*) Entry 2      |"
>-				 "|  *  Entry 3      |"
>-				 "+------------------+", memsize / 2));
>-
>-	ut_assertok(memcmp(colors, "gggggggggggggggggggg"
>-				   "gkbbbbbbbbbbbkkkkkkg"
>-				   "gkbbbbbbbbbbbkkkkkkg"
>-				   "gkbbbbbbbbbbbkkkkkkg"
>-				   "gggggggggggggggggggg", memsize / 2));
>+	ut_asserteq_mem(text,
>+			"+---- OSD menu ----+"
>+			"|  *  Entry 1      |"
>+			"| (*) Entry 2      |"
>+			"|  *  Entry 3      |"
>+			 "+------------------+", memsize / 2);
>+
>+	ut_asserteq_mem(colors,
>+			"gggggggggggggggggggg"
>+			"gkbbbbbbbbbbbkkkkkkg"
>+			"gkbbbbbbbbbbbkkkkkkg"
>+			"gkbbbbbbbbbbbkkkkkkg"
>+			"gggggggggggggggggggg", memsize / 2);
> 
> 	return 0;
> }
>diff --git a/test/unicode_ut.c b/test/unicode_ut.c
>index f083a682e8..72a3d9eeb1 100644
>--- a/test/unicode_ut.c
>+++ b/test/unicode_ut.c
>@@ -67,8 +67,9 @@ static int unicode_test_u16_strdup(struct
>unit_test_state *uts)
> 	u16 *copy = u16_strdup(c4);
> 
> 	ut_assert(copy != c4);
>-	ut_assert(!memcmp(copy, c4, sizeof(c4)));
>+	ut_asserteq_mem(copy, c4, sizeof(c4));
> 	free(copy);
>+
> 	return 0;
> }
> UNICODE_TEST(unicode_test_u16_strdup);
>@@ -80,7 +81,8 @@ static int unicode_test_u16_strcpy(struct
>unit_test_state *uts)
> 
> 	r = u16_strcpy(copy, c1);
> 	ut_assert(r == copy);
>-	ut_assert(!memcmp(copy, c1, sizeof(c1)));
>+	ut_asserteq_mem(copy, c1, sizeof(c1));
>+
> 	return 0;
> }
> UNICODE_TEST(unicode_test_u16_strcpy);



More information about the U-Boot mailing list