Anastasia Klimchuk submitted this change.
tests: Add and include headers with function prototypes
Part 2 of fixing -Wmissing-prototypes warnings. This patch adds
headers with function prototypes and includes the headers into
source files. This fixes the warnings like this:
warning: no previous prototype for ‘function_name’
[-Wmissing-prototypes]
This patch is needed to sync compiler warning options between meson
and makefile.
TEST=running the following produces no warnings:
meson setup --wipe (to clean build directory)
ninja test
Change-Id: Ia1ff22deb2354569f277649c6575ef2d5ffbb6e0
Signed-off-by: Anastasia Klimchuk <aklm@chromium.org>
Reviewed-on: https://review.coreboot.org/c/flashrom/+/63489
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Thomas Heijligen <src@posteo.de>
Reviewed-by: Felix Singer <felixsinger@posteo.net>
Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
---
M tests/chip.c
M tests/flashrom.c
M tests/helpers.c
M tests/layout.c
M tests/libusb_wraps.c
A tests/libusb_wraps.h
M tests/lifecycle.c
M tests/spi25.c
M tests/tests.c
A tests/wraps.h
10 files changed, 126 insertions(+), 0 deletions(-)
diff --git a/tests/chip.c b/tests/chip.c
index 444d411..6f03172 100644
--- a/tests/chip.c
+++ b/tests/chip.c
@@ -29,6 +29,7 @@
#include <stdio.h>
#include <string.h>
+#include "tests.h"
#include "chipdrivers.h"
#include "flash.h"
#include "io_mock.h"
diff --git a/tests/flashrom.c b/tests/flashrom.c
index c3508c5..cc88831 100644
--- a/tests/flashrom.c
+++ b/tests/flashrom.c
@@ -14,6 +14,7 @@
*/
#include <include/test.h>
+#include "tests.h"
#include "programmer.h"
diff --git a/tests/helpers.c b/tests/helpers.c
index 4376eee..e2e652e 100644
--- a/tests/helpers.c
+++ b/tests/helpers.c
@@ -15,6 +15,7 @@
#include <include/test.h>
+#include "tests.h"
#include "flash.h"
#include <stdint.h>
diff --git a/tests/layout.c b/tests/layout.c
index 1e7e31d..e71debf 100644
--- a/tests/layout.c
+++ b/tests/layout.c
@@ -16,6 +16,7 @@
#include <include/test.h>
#include <stdio.h>
+#include "tests.h"
#include "flash.h"
#include "layout.h"
#include "libflashrom.h"
diff --git a/tests/libusb_wraps.c b/tests/libusb_wraps.c
index 8f9e243..4e68ba7 100644
--- a/tests/libusb_wraps.c
+++ b/tests/libusb_wraps.c
@@ -17,6 +17,7 @@
#include <include/test.h>
#include "io_mock.h"
+#include "libusb_wraps.h"
void *__wrap_usb_dev_get_by_vid_pid_number(
libusb_context *usb_ctx, uint16_t vid, uint16_t pid, unsigned int num)
diff --git a/tests/libusb_wraps.h b/tests/libusb_wraps.h
new file mode 100644
index 0000000..b10b8c0
--- /dev/null
+++ b/tests/libusb_wraps.h
@@ -0,0 +1,46 @@
+/*
+ * This file is part of the flashrom project.
+ *
+ * Copyright 2022 Google LLC
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef LIBUSB_WRAPS_H
+#define LIBUSB_WRAPS_H
+
+#include <libusb.h>
+
+void *__wrap_usb_dev_get_by_vid_pid_number(
+ libusb_context *usb_ctx, uint16_t vid, uint16_t pid, unsigned int num);
+int __wrap_libusb_init(libusb_context **ctx);
+int __wrap_libusb_open(libusb_device *dev, libusb_device_handle **devh);
+int __wrap_libusb_set_auto_detach_kernel_driver(libusb_device_handle *devh, int enable);
+ssize_t __wrap_libusb_get_device_list(libusb_context *ctx, libusb_device ***list);
+void __wrap_libusb_free_device_list(libusb_device **list, int unref_devices);
+uint8_t __wrap_libusb_get_bus_number(libusb_device *dev);
+uint8_t __wrap_libusb_get_device_address(libusb_device *dev);
+int __wrap_libusb_get_device_descriptor(libusb_device *dev, struct libusb_device_descriptor *desc);
+int __wrap_libusb_get_config_descriptor(
+ libusb_device *dev, uint8_t config_index, struct libusb_config_descriptor **config);
+void __wrap_libusb_free_config_descriptor(struct libusb_config_descriptor *config);
+int __wrap_libusb_get_configuration(libusb_device_handle *devh, int *config);
+int __wrap_libusb_set_configuration(libusb_device_handle *devh, int config);
+int __wrap_libusb_claim_interface(libusb_device_handle *devh, int interface_number);
+int __wrap_libusb_control_transfer(libusb_device_handle *devh, uint8_t bmRequestType,
+ uint8_t bRequest, uint16_t wValue, uint16_t wIndex, unsigned char *data,
+ uint16_t wLength, unsigned int timeout);
+int __wrap_libusb_release_interface(libusb_device_handle *devh, int interface_number);
+void __wrap_libusb_close(libusb_device_handle *devh);
+libusb_device *__wrap_libusb_ref_device(libusb_device *dev);
+void __wrap_libusb_unref_device(libusb_device *dev);
+void __wrap_libusb_exit(libusb_context *ctx);
+
+#endif /* LIBUSB_WRAPS_H */
diff --git a/tests/lifecycle.c b/tests/lifecycle.c
index 236d1d7..63fcc3c 100644
--- a/tests/lifecycle.c
+++ b/tests/lifecycle.c
@@ -17,6 +17,7 @@
#include <string.h>
#include <linux/spi/spidev.h>
+#include "tests.h"
#include "libflashrom.h"
#include "io_mock.h"
#include "programmer.h"
diff --git a/tests/spi25.c b/tests/spi25.c
index 251c98c..f57251e 100644
--- a/tests/spi25.c
+++ b/tests/spi25.c
@@ -15,6 +15,8 @@
#include <include/test.h>
+#include "wraps.h"
+#include "tests.h"
#include "programmer.h"
#include "flashchips.h"
#include "chipdrivers.h"
diff --git a/tests/tests.c b/tests/tests.c
index 3eef47e..6aabd90 100644
--- a/tests/tests.c
+++ b/tests/tests.c
@@ -16,6 +16,7 @@
#include <include/test.h>
#include "io_mock.h"
#include "tests.h"
+#include "wraps.h"
#include <stdio.h>
#include <string.h>
diff --git a/tests/wraps.h b/tests/wraps.h
new file mode 100644
index 0000000..c088d98
--- /dev/null
+++ b/tests/wraps.h
@@ -0,0 +1,71 @@
+/*
+ * This file is part of the flashrom project.
+ *
+ * Copyright 2022 Google LLC
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef WRAPS_H
+#define WRAPS_H
+
+#include <stdio.h>
+#include "flash.h"
+
+char *__wrap_strdup(const char *s);
+void __wrap_physunmap(void *virt_addr, size_t len);
+void *__wrap_physmap(const char *descr, uintptr_t phys_addr, size_t len);
+struct pci_dev *__wrap_pcidev_init(void *devs, int bar);
+uintptr_t __wrap_pcidev_readbar(void *dev, int bar);
+void __wrap_sio_write(uint16_t port, uint8_t reg, uint8_t data);
+uint8_t __wrap_sio_read(uint16_t port, uint8_t reg);
+int __wrap_open(const char *pathname, int flags);
+int __wrap_open64(const char *pathname, int flags);
+int __wrap___open64_2(const char *pathname, int flags);
+int __wrap_ioctl(int fd, unsigned long int request, ...);
+int __wrap_write(int fd, const void *buf, size_t sz);
+int __wrap_read(int fd, void *buf, size_t sz);
+FILE *__wrap_fopen(const char *pathname, const char *mode);
+FILE *__wrap_fopen64(const char *pathname, const char *mode);
+FILE *__wrap_fdopen(int fd, const char *mode);
+int __wrap_stat(const char *path, void *buf);
+int __wrap_stat64(const char *path, void *buf);
+int __wrap___xstat(const char *path, void *buf);
+int __wrap___xstat64(const char *path, void *buf);
+int __wrap_fstat(int fd, void *buf);
+int __wrap_fstat64(int fd, void *buf);
+int __wrap___fxstat(int fd, void *buf);
+int __wrap___fxstat64(int fd, void *buf);
+char *__wrap_fgets(char *buf, int len, FILE *fp);
+char *__wrap___fgets_chk(char *buf, int len, FILE *fp);
+size_t __wrap_fread(void *ptr, size_t size, size_t nmemb, FILE *fp);
+size_t __wrap_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *fp);
+int __wrap_fflush(FILE *fp);
+int __wrap_fileno(FILE *fp);
+int __wrap_fsync(int fd);
+int __wrap_setvbuf(FILE *fp, char *buf, int type, size_t size);
+int __wrap_fprintf(FILE *fp, const char *fmt, ...);
+int __wrap___vfprintf_chk(FILE *fp, const char *fmt, va_list args);
+int __wrap_fclose(FILE *fp);
+int __wrap_feof(FILE *fp);
+int __wrap_ferror(FILE *fp);
+void __wrap_clearerr(FILE *fp);
+int __wrap_rget_io_perms(void);
+void __wrap_test_outb(unsigned char value, unsigned short port);
+unsigned char __wrap_test_inb(unsigned short port);
+void __wrap_test_outw(unsigned short value, unsigned short port);
+unsigned short __wrap_test_inw(unsigned short port);
+void __wrap_test_outl(unsigned int value, unsigned short port);
+unsigned int __wrap_test_inl(unsigned short port);
+int __wrap_spi_send_command(const struct flashctx *flash,
+ unsigned int writecnt, unsigned int readcnt,
+ const unsigned char *writearr, unsigned char *readarr);
+
+#endif /* WRAPS_H */
To view, visit change 63489. To unsubscribe, or for help writing mail filters, visit settings.