mirror of https://gitee.com/openkylin/qemu.git
* Small fixes for the unit tests
* Compilation fixes for Illumos et al. * Update the FreeBSD VM to 12.2 -----BEGIN PGP SIGNATURE----- iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmBXeZ4RHHRodXRoQHJl ZGhhdC5jb20ACgkQLtnXdP5wLbXrtw//SWtVgXYlifD8JTJcF40CcXB4/hFzPPvs syFBtm7mFikgkiXa0oKPVpiHeEmvYvE7F9H30xbxEb3eqg194K+KBHOL8PBH03Mv 3P7IjEs+MOIUvpYcCwoJWS1r9Dpw4IMfGSljdkYWW4iO9TJBt+xOOIQy68eJnXkw eEEZ9NjBq6cSKSEoIyaRiGIi1OsLMGatsXEgKhaKBiLaKFagNLEzTOxKafSyJkWt jRgESoLbUH3EbkmKrUZGYhVpKgFiXSJMz1j35ujqVhMY3FeCi69xjcvpiXRN1NMS kQO6CKkkVa5WpCPhqUPBI5pKzIAax180v7Qes+hlOgecNCjy76wVY2ZJVUf1kuxL aHdgs77Tmq6dwCjuDu2Jon78Rge89cKCIXCDI70BYQUv7zHxwxVyO6Fwn889k3D/ 7xIsze0oELbHYSperMm2wyOmswevyUOGCCBprtgrDUW/CtFMBQBHI5kvs4PV0dx9 GssCl9xkzNtGqeH/pHy5gr8NkYxSfAQRdv4NQen4lrpZpGDltOa3eJ+EDuIYYLdR fsPMVuc5AKuw4lgNyIzPrIq7SAhbhlYxhsNLKFh+XpvEF3/d0OHkT02o10iXH9Py I2S4qdVbKp5ZYa8Fj9fTksxAU3qn0DR8zAMh5RIFkce0u6M05UZ/2KaOW4WQVEbJ NFRresAmcgw= =fkgL -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/thuth-gitlab/tags/pull-request-2021-03-21' into staging * Small fixes for the unit tests * Compilation fixes for Illumos et al. * Update the FreeBSD VM to 12.2 # gpg: Signature made Sun 21 Mar 2021 16:51:42 GMT # gpg: using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5 # gpg: issuer "thuth@redhat.com" # gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full] # gpg: aka "Thomas Huth <thuth@redhat.com>" [full] # gpg: aka "Thomas Huth <huth@tuxfamily.org>" [full] # gpg: aka "Thomas Huth <th.huth@posteo.de>" [unknown] # Primary key fingerprint: 27B8 8847 EEE0 2501 18F3 EAB9 2ED9 D774 FE70 2DB5 * remotes/thuth-gitlab/tags/pull-request-2021-03-21: FreeBSD: Upgrade to 12.2 release contrib: ivshmem client and server build fix for SunOS. configure: fix for SunOS based systems tests/unit/test-block-iothread: fix maybe-uninitialized error on GCC 11 docs/devel/testing.rst: Fix references to unit tests Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
f0f20022a0
|
@ -111,7 +111,7 @@ error_exit() {
|
|||
do_compiler() {
|
||||
# Run the compiler, capturing its output to the log. First argument
|
||||
# is compiler binary to execute.
|
||||
local compiler="$1"
|
||||
compiler="$1"
|
||||
shift
|
||||
if test -n "$BASH_VERSION"; then eval '
|
||||
echo >>config.log "
|
||||
|
|
|
@ -178,7 +178,7 @@ ivshmem_client_init(IvshmemClient *client, const char *unix_sock_path,
|
|||
int
|
||||
ivshmem_client_connect(IvshmemClient *client)
|
||||
{
|
||||
struct sockaddr_un sun;
|
||||
struct sockaddr_un s_un;
|
||||
int fd, ret;
|
||||
int64_t tmp;
|
||||
|
||||
|
@ -192,16 +192,16 @@ ivshmem_client_connect(IvshmemClient *client)
|
|||
return -1;
|
||||
}
|
||||
|
||||
sun.sun_family = AF_UNIX;
|
||||
ret = snprintf(sun.sun_path, sizeof(sun.sun_path), "%s",
|
||||
s_un.sun_family = AF_UNIX;
|
||||
ret = snprintf(s_un.sun_path, sizeof(s_un.sun_path), "%s",
|
||||
client->unix_sock_path);
|
||||
if (ret < 0 || ret >= sizeof(sun.sun_path)) {
|
||||
if (ret < 0 || ret >= sizeof(s_un.sun_path)) {
|
||||
IVSHMEM_CLIENT_DEBUG(client, "could not copy unix socket path\n");
|
||||
goto err_close;
|
||||
}
|
||||
|
||||
if (connect(client->sock_fd, (struct sockaddr *)&sun, sizeof(sun)) < 0) {
|
||||
IVSHMEM_CLIENT_DEBUG(client, "cannot connect to %s: %s\n", sun.sun_path,
|
||||
if (connect(client->sock_fd, (struct sockaddr *)&s_un, sizeof(s_un)) < 0) {
|
||||
IVSHMEM_CLIENT_DEBUG(client, "cannot connect to %s: %s\n", s_un.sun_path,
|
||||
strerror(errno));
|
||||
goto err_close;
|
||||
}
|
||||
|
|
|
@ -288,7 +288,7 @@ ivshmem_server_init(IvshmemServer *server, const char *unix_sock_path,
|
|||
int
|
||||
ivshmem_server_start(IvshmemServer *server)
|
||||
{
|
||||
struct sockaddr_un sun;
|
||||
struct sockaddr_un s_un;
|
||||
int shm_fd, sock_fd, ret;
|
||||
|
||||
/* open shm file */
|
||||
|
@ -327,15 +327,15 @@ ivshmem_server_start(IvshmemServer *server)
|
|||
goto err_close_shm;
|
||||
}
|
||||
|
||||
sun.sun_family = AF_UNIX;
|
||||
ret = snprintf(sun.sun_path, sizeof(sun.sun_path), "%s",
|
||||
s_un.sun_family = AF_UNIX;
|
||||
ret = snprintf(s_un.sun_path, sizeof(s_un.sun_path), "%s",
|
||||
server->unix_sock_path);
|
||||
if (ret < 0 || ret >= sizeof(sun.sun_path)) {
|
||||
if (ret < 0 || ret >= sizeof(s_un.sun_path)) {
|
||||
IVSHMEM_SERVER_DEBUG(server, "could not copy unix socket path\n");
|
||||
goto err_close_sock;
|
||||
}
|
||||
if (bind(sock_fd, (struct sockaddr *)&sun, sizeof(sun)) < 0) {
|
||||
IVSHMEM_SERVER_DEBUG(server, "cannot connect to %s: %s\n", sun.sun_path,
|
||||
if (bind(sock_fd, (struct sockaddr *)&s_un, sizeof(s_un)) < 0) {
|
||||
IVSHMEM_SERVER_DEBUG(server, "cannot connect to %s: %s\n", s_un.sun_path,
|
||||
strerror(errno));
|
||||
goto err_close_sock;
|
||||
}
|
||||
|
|
|
@ -34,17 +34,17 @@ If you are writing new code in QEMU, consider adding a unit test, especially
|
|||
for utility modules that are relatively stateless or have few dependencies. To
|
||||
add a new unit test:
|
||||
|
||||
1. Create a new source file. For example, ``tests/foo-test.c``.
|
||||
1. Create a new source file. For example, ``tests/unit/foo-test.c``.
|
||||
|
||||
2. Write the test. Normally you would include the header file which exports
|
||||
the module API, then verify the interface behaves as expected from your
|
||||
test. The test code should be organized with the glib testing framework.
|
||||
Copying and modifying an existing test is usually a good idea.
|
||||
|
||||
3. Add the test to ``tests/meson.build``. The unit tests are listed in a
|
||||
3. Add the test to ``tests/unit/meson.build``. The unit tests are listed in a
|
||||
dictionary called ``tests``. The values are any additional sources and
|
||||
dependencies to be linked with the test. For a simple test whose source
|
||||
is in ``tests/foo-test.c``, it is enough to add an entry like::
|
||||
is in ``tests/unit/foo-test.c``, it is enough to add an entry like::
|
||||
|
||||
{
|
||||
...
|
||||
|
|
|
@ -89,7 +89,7 @@ static void test_sync_op_pread(BdrvChild *c)
|
|||
|
||||
static void test_sync_op_pwrite(BdrvChild *c)
|
||||
{
|
||||
uint8_t buf[512];
|
||||
uint8_t buf[512] = { 0 };
|
||||
int ret;
|
||||
|
||||
/* Success */
|
||||
|
@ -117,7 +117,7 @@ static void test_sync_op_blk_pread(BlockBackend *blk)
|
|||
|
||||
static void test_sync_op_blk_pwrite(BlockBackend *blk)
|
||||
{
|
||||
uint8_t buf[512];
|
||||
uint8_t buf[512] = { 0 };
|
||||
int ret;
|
||||
|
||||
/* Success */
|
||||
|
@ -141,7 +141,7 @@ static void test_sync_op_load_vmstate(BdrvChild *c)
|
|||
|
||||
static void test_sync_op_save_vmstate(BdrvChild *c)
|
||||
{
|
||||
uint8_t buf[512];
|
||||
uint8_t buf[512] = { 0 };
|
||||
int ret;
|
||||
|
||||
/* Error: Driver does not support snapshots */
|
||||
|
|
|
@ -20,12 +20,16 @@ import socket
|
|||
import subprocess
|
||||
import basevm
|
||||
|
||||
FREEBSD_CONFIG = {
|
||||
'cpu' : "max,sse4.2=off",
|
||||
}
|
||||
|
||||
class FreeBSDVM(basevm.BaseVM):
|
||||
name = "freebsd"
|
||||
arch = "x86_64"
|
||||
|
||||
link = "https://download.freebsd.org/ftp/releases/ISO-IMAGES/12.1/FreeBSD-12.1-RELEASE-amd64-disc1.iso.xz"
|
||||
csum = "7394c3f60a1e236e7bd3a05809cf43ae39a3b8e5d42d782004cf2f26b1cfcd88"
|
||||
link = "https://download.freebsd.org/ftp/releases/ISO-IMAGES/12.2/FreeBSD-12.2-RELEASE-amd64-disc1.iso.xz"
|
||||
csum = "a4530246cafbf1dd42a9bd3ea441ca9a78a6a0cd070278cbdf63f3a6f803ecae"
|
||||
size = "20G"
|
||||
pkgs = [
|
||||
# build tools
|
||||
|
@ -61,6 +65,8 @@ class FreeBSDVM(basevm.BaseVM):
|
|||
"zstd",
|
||||
]
|
||||
|
||||
# TODO: Enable gnutls again once FreeBSD's libtasn1 got fixed
|
||||
# See: https://gitlab.com/gnutls/libtasn1/-/merge_requests/71
|
||||
BUILD_SCRIPT = """
|
||||
set -e;
|
||||
rm -rf /home/qemu/qemu-test.*
|
||||
|
@ -68,7 +74,7 @@ class FreeBSDVM(basevm.BaseVM):
|
|||
mkdir src build; cd src;
|
||||
tar -xf /dev/vtbd1;
|
||||
cd ../build
|
||||
../src/configure --python=python3.7 {configure_opts};
|
||||
../src/configure --python=python3.7 --disable-gnutls {configure_opts};
|
||||
gmake --output-sync -j{jobs} {target} {verbose};
|
||||
"""
|
||||
|
||||
|
@ -125,7 +131,7 @@ class FreeBSDVM(basevm.BaseVM):
|
|||
self.console_wait_send("IPv6", "n")
|
||||
self.console_wait_send("Resolver", "\n")
|
||||
|
||||
self.console_wait_send("Time Zone Selector", "a\n")
|
||||
self.console_wait_send("Time Zone Selector", "0\n")
|
||||
self.console_wait_send("Confirmation", "y")
|
||||
self.console_wait_send("Time & Date", "\n")
|
||||
self.console_wait_send("Time & Date", "\n")
|
||||
|
@ -206,4 +212,4 @@ class FreeBSDVM(basevm.BaseVM):
|
|||
self.print_step("All done")
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(basevm.main(FreeBSDVM))
|
||||
sys.exit(basevm.main(FreeBSDVM, config=FREEBSD_CONFIG))
|
||||
|
|
Loading…
Reference in New Issue