Mercurial > hg
view contrib/chg/util.h @ 41181:3227923979a1
tests: de-flake test-narrow-share.t by making dirstate predictable
test-narrow-share.t was sometimes (~0.5% on my machine) failing like this:
@@ -61,7 +61,7 @@
A d3/g
$ hg -R main debugdirstate --no-dates
n 644 2 set d1/f
- n 644 2 unset d3/f
+ n 644 2 set d3/f
a 0 -1 unset d3/g
n 644 2 set d5/f
n 644 2 set d7/f
The timestamp for d3/f would get set if it was determined at some
point that it was clean. That check is usually done when the user runs
`hg st`. We don't do that before the failure in the test case, but it
happens at the end of the `hg clone` call. So if the file system's
time happens to roll over after the clone's working copy has been
written, but before its (final) dirstate has been written, we can end
up with a set timestamp there.
This patch makes it consistent by sleeping for 2 seconds so the
timestamp gets reliably set.
Differential Revision: https://phab.mercurial-scm.org/D5568
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 10 Jan 2019 16:36:55 -0800 |
parents | 9724f54923ec |
children |
line wrap: on
line source
/* * Utility functions * * Copyright (c) 2011 Yuya Nishihara <yuya@tcha.org> * * This software may be used and distributed according to the terms of the * GNU General Public License version 2 or any later version. */ #ifndef UTIL_H_ #define UTIL_H_ #ifdef __GNUC__ #define PRINTF_FORMAT_ __attribute__((format(printf, 1, 2))) #define UNUSED_ __attribute__((unused)) #else #define PRINTF_FORMAT_ #define UNUSED_ #endif void abortmsg(const char *fmt, ...) PRINTF_FORMAT_; void abortmsgerrno(const char *fmt, ...) PRINTF_FORMAT_; void enablecolor(void); void enabledebugmsg(void); void debugmsg(const char *fmt, ...) PRINTF_FORMAT_; void fchdirx(int dirfd); void fsetcloexec(int fd); void *mallocx(size_t size); void *reallocx(void *ptr, size_t size); int runshellcmd(const char *cmd, const char *envp[], const char *cwd); #endif /* UTIL_H_ */