From c4784f1a9a491eab118bbec81808e2de1dec187f Mon Sep 17 00:00:00 2001 From: Anastasia Klimchuk Date: Tue, 12 Apr 2022 13:33:39 +1000 Subject: tests: Add and include headers with function prototypes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-on: https://review.coreboot.org/c/flashrom/+/63489 Tested-by: build bot (Jenkins) Reviewed-by: Thomas Heijligen Reviewed-by: Felix Singer Reviewed-by: Edward O'Callaghan --- tests/chip.c | 1 + tests/flashrom.c | 1 + tests/helpers.c | 1 + tests/layout.c | 1 + tests/libusb_wraps.c | 1 + tests/libusb_wraps.h | 46 ++++++++++++++++++++++++++++++++++ tests/lifecycle.c | 1 + tests/spi25.c | 2 ++ tests/tests.c | 1 + tests/wraps.h | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 10 files changed, 126 insertions(+) create mode 100644 tests/libusb_wraps.h create mode 100644 tests/wraps.h (limited to 'tests') diff --git a/tests/chip.c b/tests/chip.c index 444d411a..6f031726 100644 --- a/tests/chip.c +++ b/tests/chip.c @@ -29,6 +29,7 @@ #include #include +#include "tests.h" #include "chipdrivers.h" #include "flash.h" #include "io_mock.h" diff --git a/tests/flashrom.c b/tests/flashrom.c index c3508c51..cc888313 100644 --- a/tests/flashrom.c +++ b/tests/flashrom.c @@ -14,6 +14,7 @@ */ #include +#include "tests.h" #include "programmer.h" diff --git a/tests/helpers.c b/tests/helpers.c index 4376eee9..e2e652ed 100644 --- a/tests/helpers.c +++ b/tests/helpers.c @@ -15,6 +15,7 @@ #include +#include "tests.h" #include "flash.h" #include diff --git a/tests/layout.c b/tests/layout.c index 1e7e31d1..e71debfe 100644 --- a/tests/layout.c +++ b/tests/layout.c @@ -16,6 +16,7 @@ #include #include +#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 8f9e243f..4e68ba72 100644 --- a/tests/libusb_wraps.c +++ b/tests/libusb_wraps.c @@ -17,6 +17,7 @@ #include #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 00000000..b10b8c0c --- /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 + +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 236d1d7b..63fcc3c4 100644 --- a/tests/lifecycle.c +++ b/tests/lifecycle.c @@ -17,6 +17,7 @@ #include #include +#include "tests.h" #include "libflashrom.h" #include "io_mock.h" #include "programmer.h" diff --git a/tests/spi25.c b/tests/spi25.c index 251c98c0..f57251ea 100644 --- a/tests/spi25.c +++ b/tests/spi25.c @@ -15,6 +15,8 @@ #include +#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 3eef47e4..6aabd908 100644 --- a/tests/tests.c +++ b/tests/tests.c @@ -16,6 +16,7 @@ #include #include "io_mock.h" #include "tests.h" +#include "wraps.h" #include #include diff --git a/tests/wraps.h b/tests/wraps.h new file mode 100644 index 00000000..c088d98d --- /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 +#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 */ -- cgit v1.2.3