diff --git a/.cirrus.yml b/.cirrus.yml index 303fe720d6..47ef5bc604 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -1,10 +1,11 @@ +env: + CIRRUS_CLONE_DEPTH: 1 + freebsd_12_task: freebsd_instance: image: freebsd-12-0-release-amd64 cpu: 8 memory: 8G - env: - CIRRUS_CLONE_DEPTH: 1 install_script: pkg install -y bison curl cyrus-sasl git glib gmake gnutls nettle perl5 pixman pkgconf png usbredir @@ -14,3 +15,13 @@ freebsd_12_task: - ../configure || { cat config.log; exit 1; } - gmake -j8 - gmake -j8 V=1 check + +macos_task: + osx_instance: + image: mojave-base + install_script: + - brew install pkg-config python glib pixman make sdl2 + script: + - ./configure --python=/usr/local/bin/python3 || { cat config.log; exit 1; } + - gmake -j$(sysctl -n hw.ncpu) + - gmake check -j$(sysctl -n hw.ncpu) diff --git a/MAINTAINERS b/MAINTAINERS index 074ad46d47..2344215aa2 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1965,7 +1965,7 @@ F: tests/check-qnull.c F: tests/check-qnum.c F: tests/check-qobject.c F: tests/check-qstring.c -F: qdict-test-data.txt +F: tests/data/qobject/qdict.txt T: git https://repo.or.cz/qemu/armbru.git qapi-next QEMU Guest Agent diff --git a/configure b/configure index 79453a674f..b354e74185 100755 --- a/configure +++ b/configure @@ -7737,7 +7737,7 @@ DIRS="$DIRS tests/fp tests/qgraph" DIRS="$DIRS docs docs/interop fsdev scsi" DIRS="$DIRS pc-bios/optionrom pc-bios/spapr-rtas pc-bios/s390-ccw" DIRS="$DIRS roms/seabios roms/vgabios" -LINKS="Makefile tests/tcg/Makefile qdict-test-data.txt" +LINKS="Makefile tests/tcg/Makefile" LINKS="$LINKS tests/tcg/cris/Makefile tests/tcg/cris/.gdbinit" LINKS="$LINKS tests/tcg/lm32/Makefile tests/tcg/xtensa/Makefile po/Makefile" LINKS="$LINKS tests/fp/Makefile" diff --git a/hw/alpha/typhoon.c b/hw/alpha/typhoon.c index 397e2dcdc7..9d57361c67 100644 --- a/hw/alpha/typhoon.c +++ b/hw/alpha/typhoon.c @@ -11,7 +11,6 @@ #include "qapi/error.h" #include "cpu.h" #include "hw/hw.h" -#include "hw/devices.h" #include "sysemu/sysemu.h" #include "alpha_sys.h" #include "exec/address-spaces.h" diff --git a/hw/arm/allwinner-a10.c b/hw/arm/allwinner-a10.c index df0d079ad0..06ec6f4dc8 100644 --- a/hw/arm/allwinner-a10.c +++ b/hw/arm/allwinner-a10.c @@ -20,7 +20,6 @@ #include "qemu-common.h" #include "cpu.h" #include "hw/sysbus.h" -#include "hw/devices.h" #include "hw/arm/allwinner-a10.h" #include "hw/misc/unimp.h" diff --git a/hw/arm/collie.c b/hw/arm/collie.c index 48b732c176..3ca4e078fe 100644 --- a/hw/arm/collie.c +++ b/hw/arm/collie.c @@ -12,7 +12,6 @@ #include "hw/hw.h" #include "hw/sysbus.h" #include "hw/boards.h" -#include "hw/devices.h" #include "strongarm.h" #include "hw/arm/arm.h" #include "hw/block/flash.h" diff --git a/hw/arm/cubieboard.c b/hw/arm/cubieboard.c index 32f1edd2fa..84187d3916 100644 --- a/hw/arm/cubieboard.c +++ b/hw/arm/cubieboard.c @@ -20,7 +20,6 @@ #include "qemu-common.h" #include "cpu.h" #include "hw/sysbus.h" -#include "hw/devices.h" #include "hw/boards.h" #include "hw/arm/allwinner-a10.h" diff --git a/hw/arm/highbank.c b/hw/arm/highbank.c index fb9efa02c3..96ccf18d86 100644 --- a/hw/arm/highbank.c +++ b/hw/arm/highbank.c @@ -21,7 +21,6 @@ #include "qapi/error.h" #include "hw/sysbus.h" #include "hw/arm/arm.h" -#include "hw/devices.h" #include "hw/loader.h" #include "net/net.h" #include "sysemu/kvm.h" diff --git a/hw/arm/mps2-tz.c b/hw/arm/mps2-tz.c index f5f0b0e0fa..f79f090a4a 100644 --- a/hw/arm/mps2-tz.c +++ b/hw/arm/mps2-tz.c @@ -56,7 +56,6 @@ #include "hw/arm/armsse.h" #include "hw/dma/pl080.h" #include "hw/ssi/pl022.h" -#include "hw/devices.h" #include "net/net.h" #include "hw/core/split-irq.h" diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c index d22532a11c..de4a12e496 100644 --- a/hw/arm/musicpal.c +++ b/hw/arm/musicpal.c @@ -15,7 +15,6 @@ #include "cpu.h" #include "hw/sysbus.h" #include "hw/arm/arm.h" -#include "hw/devices.h" #include "net/net.h" #include "sysemu/sysemu.h" #include "hw/boards.h" diff --git a/hw/arm/nrf51_soc.c b/hw/arm/nrf51_soc.c index bbaf050103..3e633d160e 100644 --- a/hw/arm/nrf51_soc.c +++ b/hw/arm/nrf51_soc.c @@ -14,7 +14,6 @@ #include "hw/arm/arm.h" #include "hw/sysbus.h" #include "hw/boards.h" -#include "hw/devices.h" #include "hw/misc/unimp.h" #include "exec/address-spaces.h" #include "sysemu/sysemu.h" diff --git a/hw/arm/spitz.c b/hw/arm/spitz.c index c4bc3deedf..22f5958b9d 100644 --- a/hw/arm/spitz.c +++ b/hw/arm/spitz.c @@ -21,7 +21,6 @@ #include "hw/ssi/ssi.h" #include "hw/block/flash.h" #include "qemu/timer.h" -#include "hw/devices.h" #include "hw/arm/sharpsl.h" #include "ui/console.h" #include "hw/audio/wm8750.h" diff --git a/hw/arm/virt.c b/hw/arm/virt.c index c7fb5348ae..7f66ddad89 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -38,7 +38,6 @@ #include "hw/vfio/vfio-calxeda-xgmac.h" #include "hw/vfio/vfio-amd-xgbe.h" #include "hw/display/ramfb.h" -#include "hw/devices.h" #include "net/net.h" #include "sysemu/device_tree.h" #include "sysemu/numa.h" diff --git a/hw/arm/z2.c b/hw/arm/z2.c index 6f18d924df..3b75d4b39d 100644 --- a/hw/arm/z2.c +++ b/hw/arm/z2.c @@ -15,7 +15,6 @@ #include "hw/hw.h" #include "hw/arm/pxa.h" #include "hw/arm/arm.h" -#include "hw/devices.h" #include "hw/i2c/i2c.h" #include "hw/ssi/ssi.h" #include "hw/boards.h" diff --git a/hw/display/sm501.c b/hw/display/sm501.c index 4a8686f0f5..2122291308 100644 --- a/hw/display/sm501.c +++ b/hw/display/sm501.c @@ -32,7 +32,6 @@ #include "hw/hw.h" #include "hw/char/serial.h" #include "ui/console.h" -#include "hw/devices.h" #include "hw/sysbus.h" #include "hw/pci/pci.h" #include "hw/i2c/i2c.h" diff --git a/hw/hppa/dino.c b/hw/hppa/dino.c index 40f9e1a963..4d1380c51f 100644 --- a/hw/hppa/dino.c +++ b/hw/hppa/dino.c @@ -15,7 +15,6 @@ #include "qapi/error.h" #include "cpu.h" #include "hw/hw.h" -#include "hw/devices.h" #include "sysemu/sysemu.h" #include "hw/pci/pci.h" #include "hw/pci/pci_bus.h" diff --git a/hw/intc/allwinner-a10-pic.c b/hw/intc/allwinner-a10-pic.c index 11f13663c8..1aa628cbbb 100644 --- a/hw/intc/allwinner-a10-pic.c +++ b/hw/intc/allwinner-a10-pic.c @@ -17,7 +17,6 @@ #include "qemu/osdep.h" #include "hw/sysbus.h" -#include "hw/devices.h" #include "sysemu/sysemu.h" #include "hw/intc/allwinner-a10-pic.h" #include "qemu/log.h" diff --git a/hw/lm32/lm32_boards.c b/hw/lm32/lm32_boards.c index 05157f8eab..599e0d4923 100644 --- a/hw/lm32/lm32_boards.c +++ b/hw/lm32/lm32_boards.c @@ -25,7 +25,6 @@ #include "hw/sysbus.h" #include "hw/hw.h" #include "hw/block/flash.h" -#include "hw/devices.h" #include "hw/boards.h" #include "hw/loader.h" #include "elf.h" diff --git a/hw/lm32/milkymist.c b/hw/lm32/milkymist.c index b080cf1ca9..538f33b946 100644 --- a/hw/lm32/milkymist.c +++ b/hw/lm32/milkymist.c @@ -27,7 +27,6 @@ #include "hw/block/flash.h" #include "sysemu/sysemu.h" #include "sysemu/qtest.h" -#include "hw/devices.h" #include "hw/boards.h" #include "hw/loader.h" #include "elf.h" diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c index c730878d25..18048d3555 100644 --- a/hw/microblaze/petalogix_ml605_mmu.c +++ b/hw/microblaze/petalogix_ml605_mmu.c @@ -35,7 +35,6 @@ #include "net/net.h" #include "hw/block/flash.h" #include "sysemu/sysemu.h" -#include "hw/devices.h" #include "hw/boards.h" #include "hw/char/serial.h" #include "exec/address-spaces.h" diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petalogix_s3adsp1800_mmu.c index b9f0b0d06e..a0edaf867c 100644 --- a/hw/microblaze/petalogix_s3adsp1800_mmu.c +++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c @@ -33,7 +33,6 @@ #include "net/net.h" #include "hw/block/flash.h" #include "sysemu/sysemu.h" -#include "hw/devices.h" #include "hw/boards.h" #include "hw/misc/unimp.h" #include "exec/address-spaces.h" diff --git a/hw/net/dp8393x.c b/hw/net/dp8393x.c index b53fcaa8bc..98cb4e58c7 100644 --- a/hw/net/dp8393x.c +++ b/hw/net/dp8393x.c @@ -19,7 +19,6 @@ #include "qemu/osdep.h" #include "hw/sysbus.h" -#include "hw/devices.h" #include "net/net.h" #include "qapi/error.h" #include "qemu/timer.h" diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c index 5a711cb3d9..26e2312006 100644 --- a/hw/ppc/virtex_ml507.c +++ b/hw/ppc/virtex_ml507.c @@ -31,7 +31,6 @@ #include "hw/block/flash.h" #include "sysemu/sysemu.h" #include "sysemu/qtest.h" -#include "hw/devices.h" #include "hw/boards.h" #include "sysemu/device_tree.h" #include "hw/loader.h" diff --git a/hw/sh4/r2d.c b/hw/sh4/r2d.c index dcdb3728cb..28ed6be05b 100644 --- a/hw/sh4/r2d.c +++ b/hw/sh4/r2d.c @@ -31,7 +31,6 @@ #include "hw/sysbus.h" #include "hw/hw.h" #include "hw/sh4/sh.h" -#include "hw/devices.h" #include "sysemu/sysemu.h" #include "hw/boards.h" #include "hw/pci/pci.h" diff --git a/hw/tricore/tricore_testboard.c b/hw/tricore/tricore_testboard.c index 003592af27..b40cc997d0 100644 --- a/hw/tricore/tricore_testboard.c +++ b/hw/tricore/tricore_testboard.c @@ -24,7 +24,6 @@ #include "qemu-common.h" #include "cpu.h" #include "hw/hw.h" -#include "hw/devices.h" #include "net/net.h" #include "sysemu/sysemu.h" #include "hw/boards.h" diff --git a/hw/usb/tusb6010.c b/hw/usb/tusb6010.c index 501706e2b2..f76b59afe8 100644 --- a/hw/usb/tusb6010.c +++ b/hw/usb/tusb6010.c @@ -24,7 +24,6 @@ #include "hw/usb.h" #include "hw/arm/omap.h" #include "hw/irq.h" -#include "hw/devices.h" #include "hw/sysbus.h" #define TYPE_TUSB6010 "tusb6010" diff --git a/include/hw/devices.h b/include/hw/devices.h index b5f1662225..1ed5be3296 100644 --- a/include/hw/devices.h +++ b/include/hw/devices.h @@ -52,7 +52,6 @@ void retu_key_event(void *retu, int state); /* tc6393xb.c */ typedef struct TC6393xbState TC6393xbState; -#define TC6393XB_RAM 0x110000 /* amount of ram for Video and USB */ TC6393xbState *tc6393xb_init(struct MemoryRegion *sysmem, uint32_t base, qemu_irq irq); void tc6393xb_gpio_out_set(TC6393xbState *s, int line, diff --git a/tests/check-qdict.c b/tests/check-qdict.c index a1e8305066..b5efa859b0 100644 --- a/tests/check-qdict.c +++ b/tests/check-qdict.c @@ -291,7 +291,7 @@ static void qdict_stress_test(void) FILE *test_file; QDict *qdict; QString *value; - const char *test_file_path = "qdict-test-data.txt"; + const char *test_file_path = "tests/data/qobject/qdict.txt"; test_file = fopen(test_file_path, "r"); g_assert(test_file != NULL); diff --git a/tests/data/acpi/rebuild-expected-aml.sh b/tests/data/acpi/rebuild-expected-aml.sh index bf9ba242ad..abdff70a0d 100755 --- a/tests/data/acpi/rebuild-expected-aml.sh +++ b/tests/data/acpi/rebuild-expected-aml.sh @@ -1,4 +1,4 @@ -#! /bin/bash +#!/usr/bin/env bash # # Rebuild expected AML files for acpi unit-test diff --git a/qdict-test-data.txt b/tests/data/qobject/qdict.txt similarity index 100% rename from qdict-test-data.txt rename to tests/data/qobject/qdict.txt diff --git a/tests/ivshmem-test.c b/tests/ivshmem-test.c index 942ddc9192..227561fbca 100644 --- a/tests/ivshmem-test.c +++ b/tests/ivshmem-test.c @@ -74,7 +74,7 @@ static inline unsigned in_reg(IVState *s, enum Reg reg) unsigned res; res = qpci_io_readl(s->dev, s->reg_bar, reg); - g_test_message("*%s -> %x\n", name, res); + g_test_message("*%s -> %x", name, res); return res; } @@ -83,7 +83,7 @@ static inline void out_reg(IVState *s, enum Reg reg, unsigned v) { const char *name = reg2str(reg); - g_test_message("%x -> *%s\n", v, name); + g_test_message("%x -> *%s", v, name); qpci_io_writel(s->dev, s->reg_bar, reg, v); } diff --git a/tests/m48t59-test.c b/tests/m48t59-test.c index 4abf9c605c..b94a1230f7 100644 --- a/tests/m48t59-test.c +++ b/tests/m48t59-test.c @@ -199,9 +199,9 @@ static void bcd_check_time(void) t = (long)mktime(datep); s = (long)mktime(&start); if (t < s) { - g_test_message("RTC is %ld second(s) behind wall-clock\n", (s - t)); + g_test_message("RTC is %ld second(s) behind wall-clock", (s - t)); } else { - g_test_message("RTC is %ld second(s) ahead of wall-clock\n", (t - s)); + g_test_message("RTC is %ld second(s) ahead of wall-clock", (t - s)); } g_assert_cmpint(ABS(t - s), <=, wiggle); diff --git a/tests/migration-test.c b/tests/migration-test.c index e3617ceaca..48dc20a2ae 100644 --- a/tests/migration-test.c +++ b/tests/migration-test.c @@ -1066,7 +1066,7 @@ int main(int argc, char **argv) tmpfs = mkdtemp(template); if (!tmpfs) { - g_test_message("mkdtemp on path (%s): %s\n", template, strerror(errno)); + g_test_message("mkdtemp on path (%s): %s", template, strerror(errno)); } g_assert(tmpfs); @@ -1087,7 +1087,7 @@ int main(int argc, char **argv) ret = rmdir(tmpfs); if (ret != 0) { - g_test_message("unable to rmdir: path (%s): %s\n", + g_test_message("unable to rmdir: path (%s): %s", tmpfs, strerror(errno)); } diff --git a/tests/rtc-test.c b/tests/rtc-test.c index d7a96cbd79..509be707e3 100644 --- a/tests/rtc-test.c +++ b/tests/rtc-test.c @@ -165,9 +165,9 @@ static void check_time(int wiggle) t = (long)mktime(datep); s = (long)mktime(&start); if (t < s) { - g_test_message("RTC is %ld second(s) behind wall-clock\n", (s - t)); + g_test_message("RTC is %ld second(s) behind wall-clock", (s - t)); } else { - g_test_message("RTC is %ld second(s) ahead of wall-clock\n", (t - s)); + g_test_message("RTC is %ld second(s) ahead of wall-clock", (t - s)); } g_assert_cmpint(ABS(t - s), <=, wiggle); diff --git a/tests/rtl8139-test.c b/tests/rtl8139-test.c index a85c91f197..d6d0c24909 100644 --- a/tests/rtl8139-test.c +++ b/tests/rtl8139-test.c @@ -46,12 +46,12 @@ static QPCIDevice *get_device(void) static unsigned __attribute__((unused)) in_##name(void) \ { \ unsigned res = qpci_io_read##len(dev, dev_bar, (val)); \ - g_test_message("*%s -> %x\n", #name, res); \ + g_test_message("*%s -> %x", #name, res); \ return res; \ } \ static void out_##name(unsigned v) \ { \ - g_test_message("%x -> *%s\n", v, #name); \ + g_test_message("%x -> *%s", v, #name); \ qpci_io_write##len(dev, dev_bar, (val), v); \ } @@ -176,7 +176,7 @@ static void test_timer(void) } } - g_test_message("Everythink is ok!\n"); + g_test_message("Everythink is ok!"); } diff --git a/tests/test-aio-multithread.c b/tests/test-aio-multithread.c index 6440d54ac3..d3144be7e0 100644 --- a/tests/test-aio-multithread.c +++ b/tests/test-aio-multithread.c @@ -178,7 +178,7 @@ static void test_multi_co_schedule(int seconds) } join_aio_contexts(); - g_test_message("scheduled %d, queued %d, retry %d, total %d\n", + g_test_message("scheduled %d, queued %d, retry %d, total %d", count_other, count_here, count_retry, count_here + count_other + count_retry); } @@ -242,7 +242,7 @@ static void test_multi_co_mutex(int threads, int seconds) } join_aio_contexts(); - g_test_message("%d iterations/second\n", counter / seconds); + g_test_message("%d iterations/second", counter / seconds); g_assert_cmpint(counter, ==, atomic_counter); } @@ -361,7 +361,7 @@ static void test_multi_fair_mutex(int threads, int seconds) } join_aio_contexts(); - g_test_message("%d iterations/second\n", counter / seconds); + g_test_message("%d iterations/second", counter / seconds); g_assert_cmpint(counter, ==, atomic_counter); } @@ -417,7 +417,7 @@ static void test_multi_mutex(int threads, int seconds) } join_aio_contexts(); - g_test_message("%d iterations/second\n", counter / seconds); + g_test_message("%d iterations/second", counter / seconds); g_assert_cmpint(counter, ==, atomic_counter); } diff --git a/tests/test-coroutine.c b/tests/test-coroutine.c index 28e79b3210..e946d93a65 100644 --- a/tests/test-coroutine.c +++ b/tests/test-coroutine.c @@ -369,7 +369,7 @@ static void perf_lifecycle(void) } duration = g_test_timer_elapsed(); - g_test_message("Lifecycle %u iterations: %f s\n", max, duration); + g_test_message("Lifecycle %u iterations: %f s", max, duration); } static void perf_nesting(void) @@ -393,7 +393,7 @@ static void perf_nesting(void) } duration = g_test_timer_elapsed(); - g_test_message("Nesting %u iterations of %u depth each: %f s\n", + g_test_message("Nesting %u iterations of %u depth each: %f s", maxcycles, maxnesting, duration); } @@ -426,8 +426,7 @@ static void perf_yield(void) } duration = g_test_timer_elapsed(); - g_test_message("Yield %u iterations: %f s\n", - maxcycles, duration); + g_test_message("Yield %u iterations: %f s", maxcycles, duration); } static __attribute__((noinline)) void dummy(unsigned *i) @@ -449,8 +448,7 @@ static void perf_baseline(void) } duration = g_test_timer_elapsed(); - g_test_message("Function call %u iterations: %f s\n", - maxcycles, duration); + g_test_message("Function call %u iterations: %f s", maxcycles, duration); } static __attribute__((noinline)) void perf_cost_func(void *opaque) diff --git a/tests/vhost-user-test.c b/tests/vhost-user-test.c index 92dfeeddf4..0c965b3b1e 100644 --- a/tests/vhost-user-test.c +++ b/tests/vhost-user-test.c @@ -294,7 +294,7 @@ static void chr_read(void *opaque, const uint8_t *buf, int size) } if (size != VHOST_USER_HDR_SIZE) { - g_test_message("Wrong message size received %d\n", size); + g_test_message("Wrong message size received %d", size); return; } @@ -305,7 +305,7 @@ static void chr_read(void *opaque, const uint8_t *buf, int size) p += VHOST_USER_HDR_SIZE; size = qemu_chr_fe_read_all(chr, p, msg.size); if (size != msg.size) { - g_test_message("Wrong message size received %d != %d\n", + g_test_message("Wrong message size received %d != %d", size, msg.size); return; } @@ -437,7 +437,7 @@ static const char *init_hugepagefs(void) } if (access(path, R_OK | W_OK | X_OK)) { - g_test_message("access on path (%s): %s\n", path, strerror(errno)); + g_test_message("access on path (%s): %s", path, strerror(errno)); g_test_fail(); return NULL; } @@ -447,13 +447,13 @@ static const char *init_hugepagefs(void) } while (ret != 0 && errno == EINTR); if (ret != 0) { - g_test_message("statfs on path (%s): %s\n", path, strerror(errno)); + g_test_message("statfs on path (%s): %s", path, strerror(errno)); g_test_fail(); return NULL; } if (fs.f_type != HUGETLBFS_MAGIC) { - g_test_message("Warning: path not on HugeTLBFS: %s\n", path); + g_test_message("Warning: path not on HugeTLBFS: %s", path); g_test_fail(); return NULL; } @@ -549,6 +549,7 @@ static void test_server_free(TestServer *server) g_test_message("unable to rmdir: path (%s): %s", server->tmpfs, strerror(errno)); } + g_free(server->tmpfs); qemu_chr_fe_deinit(&server->chr, true); @@ -564,6 +565,8 @@ static void test_server_free(TestServer *server) g_main_loop_unref(server->loop); g_main_context_unref(server->context); + g_cond_clear(&server->data_cond); + g_mutex_clear(&server->data_mutex); g_free(server); }