On Thu, Jun 08, 2017 at 03:45:24PM +0100, Eric Engestrom wrote: > On Wednesday, 2017-06-07 11:28:28 +1000, Peter Hutterer wrote: > > This makes it possible to run multiple test suite simultaneously on the same > > host without messing up the other runs (provided that all instances use > > the same udev/hwdb files). Previously, removing the udev rules/hwdb at the > > end > > of a test run would cause test case failures in other runs that hadn't > > completed yet. > > > > Signed-off-by: Peter Hutterer <[email protected]> > > --- > > test/litest.c | 25 ++++++++++++++++--------- > > 1 file changed, 16 insertions(+), 9 deletions(-) > > > > diff --git a/test/litest.c b/test/litest.c > > index ef474455..8991ed54 100644 > > --- a/test/litest.c > > +++ b/test/litest.c > > @@ -55,13 +55,13 @@ > > #define UDEV_RULE_PREFIX "99-litest-" > > #define UDEV_HWDB_D "/etc/udev/hwdb.d" > > #define UDEV_MODEL_QUIRKS_RULE_FILE UDEV_RULES_D \ > > - "/91-litest-model-quirks-REMOVEME.rules" > > + "/91-litest-model-quirks-REMOVEME-XXXXXX.rules" > > #define UDEV_MODEL_QUIRKS_HWDB_FILE UDEV_HWDB_D \ > > - "/91-litest-model-quirks-REMOVEME.hwdb" > > + "/91-litest-model-quirks-REMOVEME-XXXXXX.hwdb" > > #define UDEV_TEST_DEVICE_RULE_FILE UDEV_RULES_D \ > > - "/91-litest-test-device-REMOVEME.rules" > > + "/91-litest-test-device-REMOVEME-XXXXXXX.rules" > > #define UDEV_DEVICE_GROUPS_FILE UDEV_RULES_D \ > > - "/80-libinput-device-groups-litest.rules" > > + "/80-libinput-device-groups-litest-XXXXXX.rules" > > > > static int jobs = 8; > > static int in_debugger = -1; > > @@ -1125,17 +1125,20 @@ litest_copy_file(const char *dest, const char *src, > > const char *header) > > { > > int in, out, length; > > struct created_file *file; > > + long int suffixlen; > > My man says `int suffixlen` (without `long`), but it doesn't really > matter. Everything else looks good to me:
oops. I wonder what that is a leftover of... amended locally. > Reviewed-by: Eric Engestrom <[email protected]> Thanks heaps, pushed as a369b2c2..57d4d7d3 master -> master Cheers, Peter > > > > > file = zalloc(sizeof(*file)); > > litest_assert(file); > > file->path = strdup(dest); > > litest_assert(file->path); > > > > - out = open(dest, O_CREAT|O_WRONLY, 0644); > > + suffixlen = file->path + strlen(file->path) - rindex(file->path, '.'); > > + out = mkstemps(file->path, suffixlen); > > if (out == -1) > > litest_abort_msg("Failed to write to file %s (%s)\n", > > - dest, > > + file->path, > > strerror(errno)); > > + litest_assert_int_ne(chmod(file->path, 0644), -1); > > > > if (header) { > > length = strlen(header); > > @@ -1228,6 +1231,7 @@ static char * > > litest_init_device_udev_rules(struct litest_test_device *dev) > > { > > int rc; > > + int fd; > > FILE *f; > > char *path = NULL; > > > > @@ -1235,7 +1239,7 @@ litest_init_device_udev_rules(struct > > litest_test_device *dev) > > return NULL; > > > > rc = xasprintf(&path, > > - "%s/%s%s.rules", > > + "%s/%s%s-XXXXXX.rules", > > UDEV_RULES_D, > > UDEV_RULE_PREFIX, > > dev->shortname); > > @@ -1243,8 +1247,11 @@ litest_init_device_udev_rules(struct > > litest_test_device *dev) > > (int)( > > strlen(UDEV_RULES_D) + > > strlen(UDEV_RULE_PREFIX) + > > - strlen(dev->shortname) + 7)); > > - f = fopen(path, "w"); > > + strlen(dev->shortname) + 14)); > > + > > + fd = mkstemps(path, 6); > > + litest_assert_int_ne(fd, -1); > > + f = fdopen(fd, "w"); > > litest_assert_notnull(f); > > litest_assert_int_ge(fputs(dev->udev_rule, f), 0); > > fclose(f); > > -- > > 2.13.0 > > > > _______________________________________________ > > wayland-devel mailing list > > [email protected] > > https://lists.freedesktop.org/mailman/listinfo/wayland-devel _______________________________________________ wayland-devel mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/wayland-devel
