Re: [Qemu-devel] [PULL v3 00/13] qemu-ga patch queue
Quoting Peter Maydell (2015-10-18 16:21:30) > On 17 October 2015 at 17:59, Michael Rothwrote: > > Hi Peter, > > > > Please note that 'glib-compat: add 2.38/2.40/2.46 asserts' is also in > > Marc-André's recent ivshmem PULL. The 2 versions of the patches are > > identical, > > but let me know if you'd prefer a re-send/re-base later. > > > > The following changes since commit 6d57410a79d51d92673c54f26624b44f27fa6214: > > > > Merge remote-tracking branch > > 'remotes/pmaydell/tags/pull-target-arm-20151016' into staging (2015-10-17 > > 12:31:33 +0100) > > > > are available in the git repository at: > > > > > > git://github.com/mdroth/qemu.git tags/qga-pull-2015-10-14-v3-tag > > > > for you to fetch changes up to ed9f1986d19c2d21667a14b875b2ac8b8a19b8a5: > > > > qga: fix uninitialized value warning for win32 (2015-10-17 11:24:27 -0500) > > > > > > qemu-ga patch queue > > > > * add unit tests for qemu-ga > > * add guest-exec support for posix/w32 guests > > * added 'qemu-ga' target for w32. this allows us to do full MSI build, > > without overloading 'qemu-ga.exe' target with uneeded dependencies. > > * number of s/g_new/g_malloc/ conversions for qga > > > > v2: > > * commit message and qapi documentation spelling fixes > > * rename 'inp-data' guest-exec param to 'input-data' > > > > v3: > > * fix OSX build errors for test-qga by using PRId64 > > format in place of glib's, and dropping use of G_SPAWN_DEFAULT > > macro for glib 2.22 compat > > * fix win32 build warnings for 32-bit builds by avoid int casts > > of process HANDLEs > > Still seeing failures, I'm afraid. > > OSX assertion failures: > > GTESTER tests/test-qga > ** > ERROR:/Users/pm215/src/qemu-for-merges/tests/libqtest.c:238:void > socket_send(int, const char *, size_t): assertion failed (len != -1): > (-1 != -1) > GTester: last random seed: R02S96655a200709f74b72ea42792cd65e8e Argh, sorry for all this noise. I suspect what's happening is qemu-ga itself might be failing to load or bind to the socket, and there appears to be a bug in the test case where we don't check for an fd == -1 return value in connect_qga(), so probably end up trying to write to it later. As far as why qemu-ga doesn't appear to be loading properly under OSX, I think I need to get an environment set up somewhere to debug. I tried to get an OSX guest going but apparently you need to own an OSX box to get a AppleSMC OSK key so I'll have to hold off on that for now. This isn't really something I think has been tested or deployed very often outside of linux/w32 guests (and w32 isn't enabled since interacting with a qemu-ga under wine/binfmt requires a specialized wine environment), so for now I think the best option is to run test-qga under CONFIG_LINUX instead of CONFIG_POSIX. > > (repeated about 10 times). > > Test failures on 64-bit ARM: > TEST: tests/test-qga... (pid=22454) > /qga/sync-delimited: OK > /qga/sync: OK > /qga/ping: OK > /qga/info: OK > /qga/network-get-interfaces: OK > /qga/get-vcpus: OK > /qga/get-fsinfo: OK > /qga/get-memory-block-info: ** > ERROR:/home/petmay01/qemu/tests/test-qga.c:294:test_qga_get_memory_block_info: > assertion failed ret: GenericError > open("/sys/devices/system/memory/"): No such file or directory > FAIL > GTester: last random seed: R02S6aa3e1f8b691a9900d2ea9945e79869d > (pid=22458) > /qga/get-memory-blocks: ** > ERROR:/home/petmay01/qemu/tests/test-qga.c:313:test_qga_get_memory_blocks: > assertion failed ret: GenericError Can't open > directory"/sys/devices/system/memory/" > : No such file or directory > FAIL > GTester: last random seed: R02S978afb04187410dc690a8b7d6d236793 > (pid=22461) > /qga/file-ops: OK > /qga/get-time: OK > /qga/invalid-cmd:OK > /qga/fsfreeze-status:OK > /qga/blacklist: OK > /qga/config: OK > FAIL: tests/test-qga > make: *** [check-tests/test-qga] Error 1 > > Not sure why it's complaining, /sys/devices/system/memory/ does > exist on this box. > > Ditto on 32-bit ARM, though that's not surprising as it's just > a chroot on an equivalently-configured machine to the 64-bit build. Hmm, I'm have FC22 running via
Re: [Qemu-devel] [PULL v3 00/13] qemu-ga patch queue
On 17 October 2015 at 17:59, Michael Rothwrote: > Hi Peter, > > Please note that 'glib-compat: add 2.38/2.40/2.46 asserts' is also in > Marc-André's recent ivshmem PULL. The 2 versions of the patches are identical, > but let me know if you'd prefer a re-send/re-base later. > > The following changes since commit 6d57410a79d51d92673c54f26624b44f27fa6214: > > Merge remote-tracking branch > 'remotes/pmaydell/tags/pull-target-arm-20151016' into staging (2015-10-17 > 12:31:33 +0100) > > are available in the git repository at: > > > git://github.com/mdroth/qemu.git tags/qga-pull-2015-10-14-v3-tag > > for you to fetch changes up to ed9f1986d19c2d21667a14b875b2ac8b8a19b8a5: > > qga: fix uninitialized value warning for win32 (2015-10-17 11:24:27 -0500) > > > qemu-ga patch queue > > * add unit tests for qemu-ga > * add guest-exec support for posix/w32 guests > * added 'qemu-ga' target for w32. this allows us to do full MSI build, > without overloading 'qemu-ga.exe' target with uneeded dependencies. > * number of s/g_new/g_malloc/ conversions for qga > > v2: > * commit message and qapi documentation spelling fixes > * rename 'inp-data' guest-exec param to 'input-data' > > v3: > * fix OSX build errors for test-qga by using PRId64 > format in place of glib's, and dropping use of G_SPAWN_DEFAULT > macro for glib 2.22 compat > * fix win32 build warnings for 32-bit builds by avoid int casts > of process HANDLEs Still seeing failures, I'm afraid. OSX assertion failures: GTESTER tests/test-qga ** ERROR:/Users/pm215/src/qemu-for-merges/tests/libqtest.c:238:void socket_send(int, const char *, size_t): assertion failed (len != -1): (-1 != -1) GTester: last random seed: R02S96655a200709f74b72ea42792cd65e8e (repeated about 10 times). Test failures on 64-bit ARM: TEST: tests/test-qga... (pid=22454) /qga/sync-delimited: OK /qga/sync: OK /qga/ping: OK /qga/info: OK /qga/network-get-interfaces: OK /qga/get-vcpus: OK /qga/get-fsinfo: OK /qga/get-memory-block-info: ** ERROR:/home/petmay01/qemu/tests/test-qga.c:294:test_qga_get_memory_block_info: assertion failed ret: GenericError open("/sys/devices/system/memory/"): No such file or directory FAIL GTester: last random seed: R02S6aa3e1f8b691a9900d2ea9945e79869d (pid=22458) /qga/get-memory-blocks: ** ERROR:/home/petmay01/qemu/tests/test-qga.c:313:test_qga_get_memory_blocks: assertion failed ret: GenericError Can't open directory"/sys/devices/system/memory/" : No such file or directory FAIL GTester: last random seed: R02S978afb04187410dc690a8b7d6d236793 (pid=22461) /qga/file-ops: OK /qga/get-time: OK /qga/invalid-cmd:OK /qga/fsfreeze-status:OK /qga/blacklist: OK /qga/config: OK FAIL: tests/test-qga make: *** [check-tests/test-qga] Error 1 Not sure why it's complaining, /sys/devices/system/memory/ does exist on this box. Ditto on 32-bit ARM, though that's not surprising as it's just a chroot on an equivalently-configured machine to the 64-bit build. thanks -- PMM
[Qemu-devel] [PULL v3 00/13] qemu-ga patch queue
Hi Peter, Please note that 'glib-compat: add 2.38/2.40/2.46 asserts' is also in Marc-André's recent ivshmem PULL. The 2 versions of the patches are identical, but let me know if you'd prefer a re-send/re-base later. The following changes since commit 6d57410a79d51d92673c54f26624b44f27fa6214: Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20151016' into staging (2015-10-17 12:31:33 +0100) are available in the git repository at: git://github.com/mdroth/qemu.git tags/qga-pull-2015-10-14-v3-tag for you to fetch changes up to ed9f1986d19c2d21667a14b875b2ac8b8a19b8a5: qga: fix uninitialized value warning for win32 (2015-10-17 11:24:27 -0500) qemu-ga patch queue * add unit tests for qemu-ga * add guest-exec support for posix/w32 guests * added 'qemu-ga' target for w32. this allows us to do full MSI build, without overloading 'qemu-ga.exe' target with uneeded dependencies. * number of s/g_new/g_malloc/ conversions for qga v2: * commit message and qapi documentation spelling fixes * rename 'inp-data' guest-exec param to 'input-data' v3: * fix OSX build errors for test-qga by using PRId64 format in place of glib's, and dropping use of G_SPAWN_DEFAULT macro for glib 2.22 compat * fix win32 build warnings for 32-bit builds by avoid int casts of process HANDLEs Denis V. Lunev (2): qga: drop guest_file_init helper and replace it with static initializers qga: handle possible SIGPIPE in guest-file-write Marc-André Lureau (5): qga: add QGA_CONF environment variable qga: do not override configuration verbosity qtest: add a few fd-level qmp helpers glib-compat: add 2.38/2.40/2.46 asserts tests: add a local test for guest agent Markus Armbruster (1): qga: Use g_new() & friends where that makes obvious sense Michael Roth (2): build: qemu-ga: add 'qemu-ga' build target for w32 qga: fix uninitialized value warning for win32 Yuri Pudgorodskiy (3): qga: guest exec functionality qga: handle G_IO_STATUS_AGAIN in ga_channel_write_all() qga: guest-exec simple stdin/stdout/stderr redirection Makefile| 14 +- configure | 2 +- include/glib-compat.h | 61 qga/channel-posix.c | 25 +- qga/channel-win32.c | 4 +- qga/commands-posix.c| 20 +- qga/commands-win32.c| 20 +- qga/commands.c | 394 +++- qga/guest-agent-command-state.c | 4 +- qga/main.c | 13 +- qga/qapi-schema.json| 67 tests/Makefile | 3 + tests/libqtest.c| 45 ++- tests/libqtest.h| 7 + tests/test-qga.c| 775 15 files changed, 1396 insertions(+), 58 deletions(-) create mode 100644 tests/test-qga.c