From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58647) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1axXfe-0001P0-TN for qemu-devel@nongnu.org; Tue, 03 May 2016 06:35:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1axXf6-0008P9-Pv for qemu-devel@nongnu.org; Tue, 03 May 2016 06:35:09 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49494) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1axXf6-0008Fr-LO for qemu-devel@nongnu.org; Tue, 03 May 2016 06:34:40 -0400 Date: Tue, 3 May 2016 11:34:23 +0100 From: "Dr. David Alan Gilbert" Message-ID: <20160503103423.GF2242@work-vm> References: <1461941263-9523-1-git-send-email-dgilbert@redhat.com> <1461941263-9523-5-git-send-email-dgilbert@redhat.com> <5725C206.3020304@redhat.com> <20160503092208.GD2242@work-vm> <572877E9.9010100@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <572877E9.9010100@redhat.com> Subject: Re: [Qemu-devel] [PATCH v2 4/5] test: Postcopy List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Marcel Apfelbaum Cc: qemu-devel@nongnu.org, quintela@redhat.com, amit.shah@redhat.com, aarcange@redhat.com, den@openvz.org, marcel.a@redhat.com, eblake@redhat.com * Marcel Apfelbaum (marcel@redhat.com) wrote: > On 05/03/2016 12:22 PM, Dr. David Alan Gilbert wrote: > > > > + QDECREF(rsp); > > > > + usleep(1000 * 100); > > > > + } while (!completed); > > > > +} > > > > > > It is possible that the migration will not finish (from some reason) ? > > > Do you expect the test runner to stop the test? > > > > The migration should always complete in postcopy; failure to complete > > is failure of the test; although I've not explicitly added any timeouts. > > > > OK, so on a failure I run make-check and it never ends ? :) > For build-bots there is no problem since they kill tests on timeout, > but we are running it manually. > However, we can add the test as is and if it 'behaves' is OK. Most of the failure cases will cause an assert/crash - a hang should be unlikely. I'm assuming a bunch of tests can in principal hang if they go wrong; if there's some qtest structure for timeouts I can add it. > > > > > > > > +int main(int argc, char **argv) > > > > +{ > > > > + char template[] = "/tmp/postcopy-test-XXXXXX"; > > > > > > I would not explicitly use /tmp/ > > > > The ivshmem-test, vhost-user-test and test-qga seem to do it this way; > > what's your preferred fix? > > You could use the P_tmpdir macro instead of '/tmp', but again, > if all the tests assume /tmp existence maybe is not an issue. I don't see any use of P_tmpdir in qemu at all; we do have one use of g_get_tmp_dir (in util/memfd.c). > > > > + int ret; > > > > + > > > > + g_test_init(&argc, &argv, NULL); > > > > + > > > > + if (!ufd_version_check()) { > > > > + return 0; > > > > + } > > > > + > > > > + tmpfs = mkdtemp(template); > > > > + if (!tmpfs) { > > > > + g_test_message("mkdtemp on path (%s): %s\n", template, strerror(errno)); > > > > + } > > > > + g_assert(tmpfs); > > > > + > > > > + module_call_init(MODULE_INIT_QOM); > > > > + > > > > + qtest_add_func("/postcopy", test_migrate); > > > > + > > > > > > How much time does this test takes? If is too long, maybe we should not run it > > > automatically as part of make check, but using an environment variable. > > > > 4 seconds on my laptop; it seems reasonable. > > > > make-check takes about 1 and a half minute for x86_64 configuration, 4 seconds > more seems reasonable indeed. Dave > Thanks, > Marcel > > > > Dave > > -- > > Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK > > > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK