[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 4/5] test: Postcopy
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [Qemu-devel] [PATCH v2 4/5] test: Postcopy |
Date: |
Tue, 3 May 2016 11:34:23 +0100 |
User-agent: |
Mutt/1.6.0 (2016-04-01) |
* Marcel Apfelbaum (address@hidden) 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.
> > <snip>
> >
> > > > +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 / address@hidden / Manchester, UK
> >
>
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK