mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-28 15:33:42 +02:00

This patch adds an init-shutdown test for linux_mtd. Since linux_mtd is using file i/o operations, those are added to the framework and mocked. Another driver linux_spi which is also using file i/o, got an upgrade in this patch, and it is now reading max buffer size from sysfs (using mocked file i/o). A good side-effect is that linux_mtd is the first test for opaque masters, which is great to have in preparation for a change like CB:56103 but for opaque masters. BUG=b:181803212 TEST=builds and ninja test Change-Id: I73f0d6ff2ad5074add7a721ed3416230d3647e3f Signed-off-by: Anastasia Klimchuk <aklm@chromium.org> Reviewed-on: https://review.coreboot.org/c/flashrom/+/56413 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
82 lines
2.0 KiB
Meson
82 lines
2.0 KiB
Meson
# This file is part of the flashrom project.
|
|
#
|
|
# Copyright 2020 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.
|
|
|
|
root_includes = include_directories('../subprojects')
|
|
|
|
srcs = [
|
|
'tests.c',
|
|
'helpers.c',
|
|
'flashrom.c',
|
|
'spi25.c',
|
|
'init_shutdown.c',
|
|
'layout.c',
|
|
'chip.c',
|
|
]
|
|
|
|
mocks = [
|
|
'-Wl,--wrap=strdup',
|
|
'-Wl,--wrap=physunmap',
|
|
'-Wl,--wrap=physmap',
|
|
'-Wl,--wrap=pcidev_init',
|
|
'-Wl,--wrap=pcidev_readbar',
|
|
'-Wl,--wrap=spi_send_command',
|
|
'-Wl,--wrap=sio_write',
|
|
'-Wl,--wrap=sio_read',
|
|
'-Wl,--wrap=open',
|
|
'-Wl,--wrap=open64',
|
|
'-Wl,--wrap=ioctl',
|
|
'-Wl,--wrap=read',
|
|
'-Wl,--wrap=write',
|
|
'-Wl,--wrap=fopen',
|
|
'-Wl,--wrap=fopen64',
|
|
'-Wl,--wrap=stat',
|
|
'-Wl,--wrap=stat64',
|
|
'-Wl,--wrap=fread',
|
|
'-Wl,--wrap=fgets',
|
|
'-Wl,--wrap=fclose',
|
|
'-Wl,--wrap=feof',
|
|
'-Wl,--wrap=ferror',
|
|
'-Wl,--wrap=clearerr',
|
|
'-Wl,--wrap=setvbuf',
|
|
'-Wl,--wrap=rget_io_perms',
|
|
'-Wl,--wrap=test_outb',
|
|
'-Wl,--wrap=test_inb',
|
|
'-Wl,--wrap=test_outw',
|
|
'-Wl,--wrap=test_inw',
|
|
'-Wl,--wrap=test_outl',
|
|
'-Wl,--wrap=test_inl',
|
|
'-Wl,--wrap=usb_dev_get_by_vid_pid_number',
|
|
'-Wl,--wrap=libusb_set_configuration',
|
|
'-Wl,--wrap=libusb_claim_interface',
|
|
'-Wl,--wrap=libusb_control_transfer',
|
|
'-Wl,--wrap=libusb_release_interface',
|
|
'-Wl,--wrap=libusb_close',
|
|
'-Wl,--wrap=libusb_exit',
|
|
'-Wl,--gc-sections',
|
|
]
|
|
|
|
flashrom_tests = executable('flashrom_unit_tests',
|
|
srcs,
|
|
include_directories : root_includes,
|
|
c_args : [
|
|
cargs,
|
|
'-ffunction-sections',
|
|
'-fdata-sections',
|
|
# '-DSTANDALONE',
|
|
],
|
|
export_dynamic : true,
|
|
link_args : mocks,
|
|
dependencies : [cmocka_dep, flashrom_test_dep],
|
|
)
|
|
test('cmocka test flashrom', flashrom_tests)
|