From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55925) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dwdVW-0003X3-1u for qemu-devel@nongnu.org; Mon, 25 Sep 2017 20:14:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dwdVB-00061r-OY for qemu-devel@nongnu.org; Mon, 25 Sep 2017 20:13:50 -0400 From: Alistair Francis Date: Mon, 25 Sep 2017 17:08:48 -0700 Message-ID: <50c325943b1547813567efe6a11fb44644494d70.1506384414.git.alistair.francis@xilinx.com> In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain Subject: [Qemu-devel] [PATCH v1 2/8] tests: Replace fprintf(stderr, "*\n" with error_report() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: alistair.francis@xilinx.com, alistair23@gmail.com, armbru@redhat.com, "Michael S. Tsirkin" , Igor Mammedov , "Dr. David Alan Gilbert" , Gerd Hoffmann , qemu-block@nongnu.org Replace a large number of the fprintf(stderr, "*\n" calls with error_report(). The functions were renamed with these commands and then compiler issues where manually fixed. find ./* -type f -exec sed -i \ 'N;N;N;N;N;N;N;N;N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N;N;N;N;N;N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N;N;N;N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N;N;N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N;N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N;N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + find ./* -type f -exec sed -i \ 'N; {s|fprintf(stderr, "\(.*\)\\n"\(.*\));|error_report("\1"\2);|Ig}' \ {} + Signed-off-by: Alistair Francis Cc: "Michael S. Tsirkin" Cc: Igor Mammedov Cc: "Dr. David Alan Gilbert" Cc: Gerd Hoffmann Cc: qemu-block@nongnu.org --- tests/Makefile.include | 4 ++-- tests/ahci-test.c | 3 ++- tests/atomic_add-bench.c | 2 +- tests/bios-tables-test.c | 5 +++-- tests/check-qlit | Bin 0 -> 272776 bytes tests/i440fx-test.c | 8 ++++---- tests/libqos/ahci.c | 10 ++++----- tests/libqos/libqos.c | 7 ++++--- tests/libqos/malloc.c | 13 ++++++------ tests/libqtest.c | 13 ++++++------ tests/migration/stress.c | 36 ++++++++++++++++----------------- tests/postcopy-test.c | 8 ++++---- tests/qemu-iotests/socket_scm_helper.c | 11 +++++----- tests/qht-bench.c | 5 +++-- tests/rcutorture.c | 5 +++-- tests/tcg/linux-test.c | 2 +- tests/tcg/runcom.c | 6 +++--- tests/tcg/test-i386-fprem.c | 2 +- tests/tcg/test_path.c | 4 ++-- tests/test-hmp.c | 5 +++-- tests/test-rcu-list.c | 5 +++-- tests/usb-hcd-ehci-test.c | 2 +- tests/vhost-user-bridge.c | 28 ++++++++++++------------- 23 files changed, 97 insertions(+), 87 deletions(-) create mode 100755 tests/check-qlit diff --git a/tests/Makefile.include b/tests/Makefile.include index abc6707ef2..485d258b17 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -618,7 +618,7 @@ tests/test-vmstate$(EXESUF): tests/test-vmstate.o \ $(test-io-obj-y) tests/test-timed-average$(EXESUF): tests/test-timed-average.o $(test-util-obj-y) tests/test-base64$(EXESUF): tests/test-base64.o $(test-util-obj-y) -tests/ptimer-test$(EXESUF): tests/ptimer-test.o tests/ptimer-test-stubs.o hw/core/ptimer.o +tests/ptimer-test$(EXESUF): tests/ptimer-test.o tests/ptimer-test-stubs.o hw/core/ptimer.o $(test-util-obj-y) tests/test-logging$(EXESUF): tests/test-logging.o $(test-util-obj-y) @@ -785,7 +785,7 @@ tests/postcopy-test$(EXESUF): tests/postcopy-test.o tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o $(test-util-obj-y) \ $(qtest-obj-y) $(test-io-obj-y) $(libqos-virtio-obj-y) $(libqos-pc-obj-y) \ $(chardev-obj-y) -tests/qemu-iotests/socket_scm_helper$(EXESUF): tests/qemu-iotests/socket_scm_helper.o +tests/qemu-iotests/socket_scm_helper$(EXESUF): tests/qemu-iotests/socket_scm_helper.o $(test-util-obj-y) tests/test-qemu-opts$(EXESUF): tests/test-qemu-opts.o $(test-util-obj-y) tests/test-keyval$(EXESUF): tests/test-keyval.o $(test-util-obj-y) $(test-qapi-obj-y) tests/test-write-threshold$(EXESUF): tests/test-write-threshold.o $(test-block-obj-y) diff --git a/tests/ahci-test.c b/tests/ahci-test.c index 999121bb7c..0a0c7a459a 100644 --- a/tests/ahci-test.c +++ b/tests/ahci-test.c @@ -23,6 +23,7 @@ */ #include "qemu/osdep.h" +#include "qemu/error-report.h" #include #include "libqtest.h" @@ -1859,7 +1860,7 @@ int main(int argc, char **argv) ahci_pedantic = 1; break; default: - fprintf(stderr, "Unrecognized ahci_test option.\n"); + error_report("Unrecognized ahci_test option."); g_assert_not_reached(); } } diff --git a/tests/atomic_add-bench.c b/tests/atomic_add-bench.c index caa1e8e689..41ba1600c0 100644 --- a/tests/atomic_add-bench.c +++ b/tests/atomic_add-bench.c @@ -29,7 +29,7 @@ static const char commands_string[] = static void usage_complete(char *argv[]) { fprintf(stderr, "Usage: %s [options]\n", argv[0]); - fprintf(stderr, "options:\n%s\n", commands_string); + fprintf(stderr, "options:\n%s", commands_string); } /* diff --git a/tests/bios-tables-test.c b/tests/bios-tables-test.c index 564da45f65..0955c72a74 100644 --- a/tests/bios-tables-test.c +++ b/tests/bios-tables-test.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/error-report.h" #include #include "qemu-common.h" #include "hw/smbios/smbios.h" @@ -396,7 +397,7 @@ try_again: aml_file = g_strdup_printf("%s/%s/%.4s%s", data_dir, data->machine, (gchar *)&signature, ext); if (getenv("V")) { - fprintf(stderr, "\nLooking for expected file '%s'\n", aml_file); + error_report("Looking for expected file '%s'", aml_file); } if (g_file_test(aml_file, G_FILE_TEST_EXISTS)) { exp_sdt.aml_file = aml_file; @@ -408,7 +409,7 @@ try_again: } g_assert(exp_sdt.aml_file); if (getenv("V")) { - fprintf(stderr, "\nUsing expected file '%s'\n", aml_file); + error_report("Using expected file '%s'", aml_file); } ret = g_file_get_contents(aml_file, &exp_sdt.aml, &exp_sdt.aml_len, &error); diff --git a/tests/check-qlit b/tests/check-qlit new file mode 100755 index 0000000000000000000000000000000000000000..950429524e3eb07e6daed1fe01caad0f5d554809 GIT binary patch literal 272776 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 + error_report("unable to create blob file: %s", error->message); g_error_free(error); } else { if (ftruncate(fd, BLOB_SIZE) == -1) { - fprintf(stderr, "ftruncate(\"%s\", %zu): %s\n", pathname, + error_report("ftruncate(\"%s\", %zu): %s", pathname, BLOB_SIZE, strerror(errno)); } else { void *buf; buf = mmap(NULL, BLOB_SIZE, PROT_WRITE, MAP_SHARED, fd, 0); if (buf == MAP_FAILED) { - fprintf(stderr, "mmap(\"%s\", %zu): %s\n", pathname, BLOB_SIZE, + error_report("mmap(\"%s\", %zu): %s", pathname, BLOB_SIZE, strerror(errno)); } else { size_t i; diff --git a/tests/libqos/ahci.c b/tests/libqos/ahci.c index 1ca7f456b5..dffe625444 100644 --- a/tests/libqos/ahci.c +++ b/tests/libqos/ahci.c @@ -23,7 +23,7 @@ */ #include "qemu/osdep.h" - +#include "qemu/error-report.h" #include "libqtest.h" #include "libqos/ahci.h" #include "libqos/pci-pc.h" @@ -985,9 +985,9 @@ static void ahci_atapi_command_set_offset(AHCICommand *cmd, uint64_t lba) default: /* SCSI doesn't have uniform packet formats, * so you have to add support for it manually. Sorry! */ - fprintf(stderr, "The Libqos AHCI driver does not support the " + error_report("The Libqos AHCI driver does not support the " "set_offset operation for ATAPI command 0x%02x, " - "please add support.\n", + "please add support.", cbd[0]); g_assert_not_reached(); } @@ -1060,8 +1060,8 @@ static void ahci_atapi_set_size(AHCICommand *cmd, uint64_t xbytes) default: /* SCSI doesn't have uniform packet formats, * so you have to add support for it manually. Sorry! */ - fprintf(stderr, "The Libqos AHCI driver does not support the set_size " - "operation for ATAPI command 0x%02x, please add support.\n", + error_report("The Libqos AHCI driver does not support the set_size " + "operation for ATAPI command 0x%02x, please add support.", cbd[0]); g_assert_not_reached(); } diff --git a/tests/libqos/libqos.c b/tests/libqos/libqos.c index 6226546c28..e125d885ef 100644 --- a/tests/libqos/libqos.c +++ b/tests/libqos/libqos.c @@ -1,4 +1,5 @@ #include "qemu/osdep.h" +#include "qemu/error-report.h" #include #include "libqtest.h" @@ -155,7 +156,7 @@ void migrate(QOSState *from, QOSState *to, const char *uri) continue; } - fprintf(stderr, "Migration did not complete, status: %s\n", st); + error_report("Migration did not complete, status: %s", st); g_assert_not_reached(); } @@ -199,7 +200,7 @@ void mkimg(const char *file, const char *fmt, unsigned size_mb) fmt, file, size_mb); ret = g_spawn_command_line_sync(cli, &out, &out2, &rc, &err); if (err) { - fprintf(stderr, "%s\n", err->message); + error_report("%s", err->message); g_error_free(err); } g_assert(ret && !err); @@ -210,7 +211,7 @@ void mkimg(const char *file, const char *fmt, unsigned size_mb) * 0 is only possible if the program exited normally, so that should be * sufficient for our purposes on all platforms, here. */ if (rc) { - fprintf(stderr, "qemu-img returned status code %d\n", rc); + error_report("qemu-img returned status code %d", rc); } g_assert(!rc); diff --git a/tests/libqos/malloc.c b/tests/libqos/malloc.c index b8eff5f495..e81e0bb8f2 100644 --- a/tests/libqos/malloc.c +++ b/tests/libqos/malloc.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/error-report.h" #include "libqos/malloc.h" #include "qemu-common.h" #include "qemu/host-utils.h" @@ -193,7 +194,7 @@ static uint64_t mlist_alloc(QGuestAllocator *s, uint64_t size) node = mlist_find_space(s->free, size); if (!node) { - fprintf(stderr, "Out of guest memory.\n"); + error_report("Out of guest memory."); g_assert_not_reached(); } return mlist_fulfill(s, node, size); @@ -209,8 +210,8 @@ static void mlist_free(QGuestAllocator *s, uint64_t addr) node = mlist_find_key(s->used, addr); if (!node) { - fprintf(stderr, "Error: no record found for an allocation at " - "0x%016" PRIx64 ".\n", + error_report("Error: no record found for an allocation at " + "0x%016" PRIx64 ".", addr); g_assert_not_reached(); } @@ -234,8 +235,8 @@ void alloc_uninit(QGuestAllocator *allocator) /* Check for guest leaks, and destroy the list. */ QTAILQ_FOREACH_SAFE(node, allocator->used, MLIST_ENTNAME, tmp) { if (allocator->opts & (ALLOC_LEAK_WARN | ALLOC_LEAK_ASSERT)) { - fprintf(stderr, "guest malloc leak @ 0x%016" PRIx64 "; " - "size 0x%016" PRIx64 ".\n", + error_report("guest malloc leak @ 0x%016" PRIx64 "; " + "size 0x%016" PRIx64 ".", node->addr, node->size); } if (allocator->opts & (ALLOC_LEAK_ASSERT)) { @@ -251,7 +252,7 @@ void alloc_uninit(QGuestAllocator *allocator) if ((allocator->opts & mask) == mask) { if ((node->addr != allocator->start) || (node->size != allocator->end - allocator->start)) { - fprintf(stderr, "Free list is corrupted.\n"); + error_report("Free list is corrupted."); g_assert_not_reached(); } } diff --git a/tests/libqtest.c b/tests/libqtest.c index cbd709470b..b7c488444e 100644 --- a/tests/libqtest.c +++ b/tests/libqtest.c @@ -15,6 +15,7 @@ * */ #include "qemu/osdep.h" +#include "qemu/error-report.h" #include "libqtest.h" #include @@ -89,7 +90,7 @@ static int socket_accept(int sock) ret = accept(sock, (struct sockaddr *)&addr, &addrlen); } while (ret == -1 && errno == EINTR); if (ret == -1) { - fprintf(stderr, "%s failed: %s\n", __func__, strerror(errno)); + error_report("%s failed: %s", __func__, strerror(errno)); } close(sock); @@ -155,7 +156,7 @@ static const char *qtest_qemu_binary(void) qemu_bin = getenv("QTEST_QEMU_BINARY"); if (!qemu_bin) { - fprintf(stderr, "Environment variable QTEST_QEMU_BINARY required\n"); + error_report("Environment variable QTEST_QEMU_BINARY required"); exit(1); } @@ -312,7 +313,7 @@ static GString *qtest_recv_line(QTestState *s) } if (len == -1 || len == 0) { - fprintf(stderr, "Broken pipe\n"); + error_report("Broken pipe"); exit(1); } @@ -397,7 +398,7 @@ static void qmp_response(JSONMessageParser *parser, GQueue *tokens) obj = json_parser_parse(tokens, NULL); if (!obj) { - fprintf(stderr, "QMP JSON response parsing failed\n"); + error_report("QMP JSON response parsing failed"); exit(1); } @@ -423,7 +424,7 @@ QDict *qmp_fd_receive(int fd) } if (len == -1 || len == 0) { - fprintf(stderr, "Broken pipe\n"); + error_report("Broken pipe"); exit(1); } @@ -880,7 +881,7 @@ void qtest_bufread(QTestState *s, uint64_t addr, void *data, size_t size) g_base64_decode_inplace(args[1], &len); if (size != len) { - fprintf(stderr, "bufread: asked for %zu bytes but decoded %zu\n", + error_report("bufread: asked for %zu bytes but decoded %zu", size, len); len = MIN(len, size); } diff --git a/tests/migration/stress.c b/tests/migration/stress.c index cf8ce8b16d..49e1ff4555 100644 --- a/tests/migration/stress.c +++ b/tests/migration/stress.c @@ -47,7 +47,7 @@ static __attribute__((noreturn)) void exit_failure(void) if (getpid() == 1) { sync(); reboot(RB_POWER_OFF); - fprintf(stderr, "%s (%05d): ERROR: cannot reboot: %s\n", + error_report("%s (%05d): cannot reboot: %s", argv0, gettid(), strerror(errno)); abort(); } else { @@ -60,7 +60,7 @@ static __attribute__((noreturn)) void exit_success(void) if (getpid() == 1) { sync(); reboot(RB_POWER_OFF); - fprintf(stderr, "%s (%05d): ERROR: cannot reboot: %s\n", + error_report("%s (%05d): cannot reboot: %s", argv0, gettid(), strerror(errno)); abort(); } else { @@ -76,13 +76,13 @@ static int get_command_arg_str(const char *name, char *start, *end; if (fp == NULL) { - fprintf(stderr, "%s (%05d): ERROR: cannot open /proc/cmdline: %s\n", + error_report("%s (%05d): cannot open /proc/cmdline: %s", argv0, gettid(), strerror(errno)); return -1; } if (!fgets(line, sizeof line, fp)) { - fprintf(stderr, "%s (%05d): ERROR: cannot read /proc/cmdline: %s\n", + error_report("%s (%05d): cannot read /proc/cmdline: %s", argv0, gettid(), strerror(errno)); fclose(fp); return -1; @@ -96,8 +96,8 @@ static int get_command_arg_str(const char *name, start += strlen(name); if (*start != '=') { - fprintf(stderr, "%s (%05d): ERROR: no value provided for '%s' in /proc/cmdline\n", - argv0, gettid(), name); + error_report("%s (%05d): no value provided for '%s' in /proc/cmdline", + argv0, gettid(), name); } start++; @@ -106,8 +106,8 @@ static int get_command_arg_str(const char *name, end = strstr(start, "\n"); if (end == start) { - fprintf(stderr, "%s (%05d): ERROR: no value provided for '%s' in /proc/cmdline\n", - argv0, gettid(), name); + error_report("%s (%05d): no value provided for '%s' in /proc/cmdline", + argv0, gettid(), name); return -1; } @@ -132,7 +132,7 @@ static int get_command_arg_ull(const char *name, errno = 0; *val = strtoll(valstr, &end, 10); if (errno || *end) { - fprintf(stderr, "%s (%05d): ERROR: cannot parse %s value %s\n", + error_report("%s (%05d): cannot parse %s value %s", argv0, gettid(), name, valstr); free(valstr); return -1; @@ -148,13 +148,13 @@ static int random_bytes(char *buf, size_t len) fd = open("/dev/urandom", O_RDONLY); if (fd < 0) { - fprintf(stderr, "%s (%05d): ERROR: cannot open /dev/urandom: %s\n", + error_report("%s (%05d): cannot open /dev/urandom: %s", argv0, gettid(), strerror(errno)); return -1; } if (read(fd, buf, len) != len) { - fprintf(stderr, "%s (%05d): ERROR: cannot read /dev/urandom: %s\n", + error_report("%s (%05d): cannot read /dev/urandom: %s", argv0, gettid(), strerror(errno)); close(fd); return -1; @@ -187,12 +187,12 @@ static int stressone(unsigned long long ramsizeMB) unsigned long long before, after; if (!ram) { - fprintf(stderr, "%s (%05d): ERROR: cannot allocate %llu MB of RAM: %s\n", + error_report("%s (%05d): cannot allocate %llu MB of RAM: %s", argv0, gettid(), ramsizeMB, strerror(errno)); return -1; } if (!data) { - fprintf(stderr, "%s (%d): ERROR: cannot allocate %d bytes of RAM: %s\n", + error_report("%s (%d): cannot allocate %d bytes of RAM: %s", argv0, gettid(), PAGE_SIZE, strerror(errno)); free(ram); return -1; @@ -271,13 +271,13 @@ static int stress(unsigned long long ramsizeGB, int ncpus) static int mount_misc(const char *fstype, const char *dir) { if (mkdir(dir, 0755) < 0 && errno != EEXIST) { - fprintf(stderr, "%s (%05d): ERROR: cannot create %s: %s\n", + error_report("%s (%05d): cannot create %s: %s", argv0, gettid(), dir, strerror(errno)); return -1; } if (mount("none", dir, fstype, 0, NULL) < 0) { - fprintf(stderr, "%s (%05d): ERROR: cannot mount %s: %s\n", + error_report("%s (%05d): cannot mount %s: %s", argv0, gettid(), dir, strerror(errno)); return -1; } @@ -322,7 +322,7 @@ int main(int argc, char **argv) errno = 0; ramsizeGB = strtoll(optarg, &end, 10); if (errno != 0 || *end) { - fprintf(stderr, "%s (%05d): ERROR: Cannot parse RAM size %s\n", + error_report("%s (%05d): Cannot parse RAM size %s", argv0, gettid(), optarg); exit_failure(); } @@ -332,7 +332,7 @@ int main(int argc, char **argv) errno = 0; ncpus = strtoll(optarg, &end, 10); if (errno != 0 || *end) { - fprintf(stderr, "%s (%05d): ERROR: Cannot parse CPU count %s\n", + error_report("%s (%05d): Cannot parse CPU count %s", argv0, gettid(), optarg); exit_failure(); } @@ -340,7 +340,7 @@ int main(int argc, char **argv) case '?': case 'h': - fprintf(stderr, "%s: [--help][--ramsize GB][--cpus N]\n", argv0); + error_report("%s: [--help][--ramsize GB][--cpus N]", argv0); exit_failure(); } } diff --git a/tests/postcopy-test.c b/tests/postcopy-test.c index 8142f2ab90..32bb11ba82 100644 --- a/tests/postcopy-test.c +++ b/tests/postcopy-test.c @@ -11,7 +11,7 @@ */ #include "qemu/osdep.h" - +#include "qemu/error-report.h" #include "libqtest.h" #include "qemu/option.h" #include "qemu/range.h" @@ -214,7 +214,7 @@ static void wait_for_serial(const char *side) break; default: - fprintf(stderr, "Unexpected %d on %s serial\n", readvalue, side); + error_report("Unexpected %d on %s serial", readvalue, side); g_assert_not_reached(); } } while (true); @@ -333,9 +333,9 @@ static void check_guests_ram(void) */ hit_edge = true; } else { - fprintf(stderr, "Memory content inconsistency at %x" + error_report("Memory content inconsistency at %x" " first_byte = %x last_byte = %x current = %x" - " hit_edge = %x\n", + " hit_edge = %x", address, first_byte, last_byte, b, hit_edge); bad = true; } diff --git a/tests/qemu-iotests/socket_scm_helper.c b/tests/qemu-iotests/socket_scm_helper.c index eb76d31aa9..7785da953a 100644 --- a/tests/qemu-iotests/socket_scm_helper.c +++ b/tests/qemu-iotests/socket_scm_helper.c @@ -11,6 +11,7 @@ */ #include "qemu/osdep.h" +#include "qemu/error-report.h" #include #include @@ -53,7 +54,7 @@ static int send_fd(int fd, int fd_to_send) } while (ret < 0 && errno == EINTR); if (ret < 0) { - fprintf(stderr, "Failed to send msg, reason: %s\n", strerror(errno)); + error_report("Failed to send msg, reason: %s", strerror(errno)); } return ret; @@ -69,14 +70,14 @@ static int get_fd_num(const char *fd_str, bool silent) sock = strtol(fd_str, &err, 10); if (errno) { if (!silent) { - fprintf(stderr, "Failed in strtol for socket fd, reason: %s\n", + error_report("Failed in strtol for socket fd, reason: %s", strerror(errno)); } return -1; } if (!*fd_str || *err || sock < 0) { if (!silent) { - fprintf(stderr, "bad numerical value for socket fd '%s'\n", fd_str); + error_report("bad numerical value for socket fd '%s'", fd_str); } return -1; } @@ -96,7 +97,7 @@ int main(int argc, char **argv, char **envp) #ifdef SOCKET_SCM_DEBUG int i; for (i = 0; i < argc; i++) { - fprintf(stderr, "Parameter %d: %s\n", i, argv[i]); + error_report("Parameter %d: %s", i, argv[i]); } #endif @@ -120,7 +121,7 @@ int main(int argc, char **argv, char **envp) is supposed to fork and exec this program. */ fd = open(argv[2], O_RDONLY); if (fd < 0) { - fprintf(stderr, "Failed to open file '%s'\n", argv[2]); + error_report("Failed to open file '%s'", argv[2]); return EXIT_FAILURE; } } diff --git a/tests/qht-bench.c b/tests/qht-bench.c index 11c1cec766..2637d601a9 100644 --- a/tests/qht-bench.c +++ b/tests/qht-bench.c @@ -5,6 +5,7 @@ * See the COPYING file in the top-level directory. */ #include "qemu/osdep.h" +#include "qemu/error-report.h" #include "qemu/processor.h" #include "qemu/atomic.h" #include "qemu/qht.h" @@ -89,7 +90,7 @@ static const char commands_string[] = static void usage_complete(int argc, char *argv[]) { fprintf(stderr, "Usage: %s [options]\n", argv[0]); - fprintf(stderr, "options:\n%s\n", commands_string); + fprintf(stderr, "options:\n%s", commands_string); exit(-1); } @@ -328,7 +329,7 @@ static void htable_init(void) retries++; } } - fprintf(stderr, " populated after %zu retries\n", retries); + error_report(" populated after %zu retries", retries); } static void add_stats(struct thread_stats *s, struct thread_info *info, int n) diff --git a/tests/rcutorture.c b/tests/rcutorture.c index 4002ecf123..21d2c76d0b 100644 --- a/tests/rcutorture.c +++ b/tests/rcutorture.c @@ -61,6 +61,7 @@ */ #include "qemu/osdep.h" +#include "qemu/error-report.h" #include "qemu/atomic.h" #include "qemu/rcu.h" #include "qemu/thread.h" @@ -86,7 +87,7 @@ static int n_threads; static void create_thread(void *(*func)(void *)) { if (n_threads >= NR_THREADS) { - fprintf(stderr, "Thread limit of %d exceeded!\n", NR_THREADS); + error_report("Thread limit of %d exceeded!", NR_THREADS); exit(-1); } qemu_thread_create(&threads[n_threads], "test", func, &data[n_threads], @@ -417,7 +418,7 @@ static void gtest_stress_10_5(void) static void usage(int argc, char *argv[]) { - fprintf(stderr, "Usage: %s [nreaders [ perf | stress ] ]\n", argv[0]); + error_report("Usage: %s [nreaders [ perf | stress ] ]", argv[0]); exit(-1); } diff --git a/tests/tcg/linux-test.c b/tests/tcg/linux-test.c index 5070d31446..76c9059073 100644 --- a/tests/tcg/linux-test.c +++ b/tests/tcg/linux-test.c @@ -51,7 +51,7 @@ void error1(const char *filename, int line, const char *fmt, ...) va_start(ap, fmt); fprintf(stderr, "%s:%d: ", filename, line); vfprintf(stderr, fmt, ap); - fprintf(stderr, "\n"); + error_report(""); va_end(ap); exit(1); } diff --git a/tests/tcg/runcom.c b/tests/tcg/runcom.c index d60342bfc6..7acf0239c8 100644 --- a/tests/tcg/runcom.c +++ b/tests/tcg/runcom.c @@ -61,7 +61,7 @@ void dump_regs(struct vm86_regs *r) #ifdef SIGTEST void alarm_handler(int sig) { - fprintf(stderr, "alarm signal=%d\n", sig); + error_report("alarm signal=%d", sig); alarm(1); } #endif @@ -172,7 +172,7 @@ int main(int argc, char **argv) break; default: unknown_int: - fprintf(stderr, "unsupported int 0x%02x\n", int_num); + error_report("unsupported int 0x%02x", int_num); dump_regs(&ctx.regs); // exit(1); } @@ -184,7 +184,7 @@ int main(int argc, char **argv) case VM86_STI: break; default: - fprintf(stderr, "unhandled vm86 return code (0x%x)\n", ret); + error_report("unhandled vm86 return code (0x%x)", ret); dump_regs(&ctx.regs); exit(1); } diff --git a/tests/tcg/test-i386-fprem.c b/tests/tcg/test-i386-fprem.c index 1a71623204..7c3d37d07a 100644 --- a/tests/tcg/test-i386-fprem.c +++ b/tests/tcg/test-i386-fprem.c @@ -340,7 +340,7 @@ static void test_fprem_pairs(void) } } - fprintf(stderr, "test-i386-fprem: tested %llu cases\n", count); + error_report("test-i386-fprem: tested %llu cases", count); } int main(int argc, char **argv) diff --git a/tests/tcg/test_path.c b/tests/tcg/test_path.c index 1c29bce263..d543bb76ef 100644 --- a/tests/tcg/test_path.c +++ b/tests/tcg/test_path.c @@ -150,8 +150,8 @@ int main(int argc, char *argv[]) ret = do_test(); cleanup(); if (ret) { - fprintf(stderr, "test_path: failed on line %i\n", ret); - return 1; + error_report("test_path: failed on line %i", ret); + return 1; } return 0; } diff --git a/tests/test-hmp.c b/tests/test-hmp.c index 5677fbf775..ff86220814 100644 --- a/tests/test-hmp.c +++ b/tests/test-hmp.c @@ -15,6 +15,7 @@ */ #include "qemu/osdep.h" +#include "qemu/error-report.h" #include "libqtest.h" static int verbose; @@ -79,7 +80,7 @@ static void test_commands(void) for (i = 0; hmp_cmds[i] != NULL; i++) { if (verbose) { - fprintf(stderr, "\t%s\n", hmp_cmds[i]); + error_report("\t%s", hmp_cmds[i]); } response = hmp("%s", hmp_cmds[i]); g_free(response); @@ -102,7 +103,7 @@ static void test_info_commands(void) *endp = '\0'; /* Now run the info command */ if (verbose) { - fprintf(stderr, "\t%s\n", info); + error_report("\t%s", info); } resp = hmp("%s", info); g_free(resp); diff --git a/tests/test-rcu-list.c b/tests/test-rcu-list.c index 1514d7ec97..00a03de370 100644 --- a/tests/test-rcu-list.c +++ b/tests/test-rcu-list.c @@ -21,6 +21,7 @@ */ #include "qemu/osdep.h" +#include "qemu/error-report.h" #include "qemu/atomic.h" #include "qemu/rcu.h" #include "qemu/thread.h" @@ -64,7 +65,7 @@ static int select_random_el(int max) static void create_thread(void *(*func)(void *)) { if (n_threads >= NR_THREADS) { - fprintf(stderr, "Thread limit of %d exceeded!\n", NR_THREADS); + error_report("Thread limit of %d exceeded!", NR_THREADS); exit(-1); } qemu_thread_create(&threads[n_threads], "test", func, &data[n_threads], @@ -255,7 +256,7 @@ static void rcu_qtest(const char *test, int duration, int nreaders) static void usage(int argc, char *argv[]) { - fprintf(stderr, "Usage: %s duration nreaders\n", argv[0]); + error_report("Usage: %s duration nreaders", argv[0]); exit(-1); } diff --git a/tests/usb-hcd-ehci-test.c b/tests/usb-hcd-ehci-test.c index 944eb1c088..1e7ef842e5 100644 --- a/tests/usb-hcd-ehci-test.c +++ b/tests/usb-hcd-ehci-test.c @@ -42,7 +42,7 @@ static void ehci_port_test(struct qhc *hc, int port, uint32_t expect) uint16_t mask = ~(PORTSC_CSC | PORTSC_PEDC | PORTSC_OCC); #if 0 - fprintf(stderr, "%s: %d, have 0x%08x, want 0x%08x\n", + error_report("%s: %d, have 0x%08x, want 0x%08x", __func__, port, value & mask, expect & mask); #endif g_assert((value & mask) == (expect & mask)); diff --git a/tests/vhost-user-bridge.c b/tests/vhost-user-bridge.c index f922cc75ae..c70a453cef 100644 --- a/tests/vhost-user-bridge.c +++ b/tests/vhost-user-bridge.c @@ -181,7 +181,7 @@ vubr_handle_tx(VuDev *dev, int qidx) out_num = elem->out_num; out_sg = elem->out_sg; if (out_num < 1) { - fprintf(stderr, "virtio-net header not in first element\n"); + error_report("virtio-net header not in first element"); break; } if (VHOST_USER_BRIDGE_DEBUG) { @@ -293,7 +293,7 @@ vubr_backend_recv_cb(int sock, void *ctx) } if (elem->in_num < 1) { - fprintf(stderr, "virtio-net contains no in buffers\n"); + error_report("virtio-net contains no in buffers"); break; } @@ -363,7 +363,7 @@ vubr_receive_cb(int sock, void *ctx) VubrDev *vubr = (VubrDev *)ctx; if (!vu_dispatch(&vubr->vudev)) { - fprintf(stderr, "Error while dispatching\n"); + error_report("Error while dispatching"); } } @@ -460,7 +460,7 @@ vubr_panic(VuDev *dev, const char *msg) { VubrDev *vubr = container_of(dev, VubrDev, vudev); - fprintf(stderr, "PANIC: %s\n", msg); + error_report("PANIC: %s", msg); dispatcher_remove(&vubr->dispatcher, dev->sock); vubr->quit = 1; @@ -561,14 +561,14 @@ vubr_set_host(struct sockaddr_in *saddr, const char *host) { if (isdigit(host[0])) { if (!inet_aton(host, &saddr->sin_addr)) { - fprintf(stderr, "inet_aton() failed.\n"); + error_report("inet_aton() failed."); exit(1); } } else { struct hostent *he = gethostbyname(host); if (!he) { - fprintf(stderr, "gethostbyname() failed.\n"); + error_report("gethostbyname() failed."); exit(1); } saddr->sin_addr = *(struct in_addr *)he->h_addr; @@ -589,13 +589,13 @@ vubr_backend_udp_setup(VubrDev *dev, lport = strtol(local_port, (char **)&r, 0); if (r == local_port) { - fprintf(stderr, "lport parsing failed.\n"); + error_report("lport parsing failed."); exit(1); } rport = strtol(remote_port, (char **)&r, 0); if (r == remote_port) { - fprintf(stderr, "rport parsing failed.\n"); + error_report("rport parsing failed."); exit(1); } @@ -713,15 +713,15 @@ main(int argc, char *argv[]) return 0; out: - fprintf(stderr, "Usage: %s ", argv[0]); - fprintf(stderr, "[-c] [-u ud_socket_path] [-l lhost:lport] [-r rhost:rport]\n"); - fprintf(stderr, "\t-u path to unix doman socket. default: %s\n", + error_report("Usage: %s ", argv[0]); + error_report("[-c] [-u ud_socket_path] [-l lhost:lport] [-r rhost:rport]"); + error_report("\t-u path to unix doman socket. default: %s", DEFAULT_UD_SOCKET); - fprintf(stderr, "\t-l local host and port. default: %s:%s\n", + fprintf(stderr, "\t-l local host and port. default: %s:%s", DEFAULT_LHOST, DEFAULT_LPORT); - fprintf(stderr, "\t-r remote host and port. default: %s:%s\n", + error_report("\t-r remote host and port. default: %s:%s", DEFAULT_RHOST, DEFAULT_RPORT); - fprintf(stderr, "\t-c client mode\n"); + error_report("\t-c client mode"); return 1; } -- 2.11.0