Mercurial > gnulib
annotate tests/nap.h @ 40203:30d91797009f
autoupdate
author | Karl Berry <karl@freefriends.org> |
---|---|
date | Fri, 01 Mar 2019 08:42:42 -0800 |
parents | b06060465f09 |
children | 5a52ef2d4772 |
rev | line source |
---|---|
12469 | 1 /* Assist in file system timestamp tests. |
40057
b06060465f09
maint: Run 'make update-copyright'
Paul Eggert <eggert@cs.ucla.edu>
parents:
39853
diff
changeset
|
2 Copyright (C) 2009-2019 Free Software Foundation, Inc. |
12469 | 3 |
4 This program is free software: you can redistribute it and/or modify | |
5 it under the terms of the GNU General Public License as published by | |
6 the Free Software Foundation; either version 3 of the License, or | |
7 (at your option) any later version. | |
8 | |
9 This program is distributed in the hope that it will be useful, | |
10 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 GNU General Public License for more details. | |
13 | |
14 You should have received a copy of the GNU General Public License | |
19190 | 15 along with this program. If not, see <https://www.gnu.org/licenses/>. */ |
12469 | 16 |
17 /* Written by Eric Blake <ebb9@byu.net>, 2009. */ | |
18 | |
19 #ifndef GLTEST_NAP_H | |
20 # define GLTEST_NAP_H | |
21 | |
17377
3c592b4deb04
utimensat-tests, etc.: try to fix some races
Paul Eggert <eggert@cs.ucla.edu>
parents:
17249
diff
changeset
|
22 # include <limits.h> |
17416
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
23 # include <stdbool.h> |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
24 |
19210
fd018f74e8c3
maint: fix overflow checking in nap.h
Paul Eggert <eggert@cs.ucla.edu>
parents:
19190
diff
changeset
|
25 # include <intprops.h> |
fd018f74e8c3
maint: fix overflow checking in nap.h
Paul Eggert <eggert@cs.ucla.edu>
parents:
19190
diff
changeset
|
26 |
18816
e1738f00d33a
nap.h: Port to native Windows.
Bruno Haible <bruno@clisp.org>
parents:
18815
diff
changeset
|
27 /* Name of the witness file. */ |
e1738f00d33a
nap.h: Port to native Windows.
Bruno Haible <bruno@clisp.org>
parents:
18815
diff
changeset
|
28 #define TEMPFILE BASE "nap.tmp" |
e1738f00d33a
nap.h: Port to native Windows.
Bruno Haible <bruno@clisp.org>
parents:
18815
diff
changeset
|
29 |
17416
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
30 /* File descriptor used for the witness file. */ |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
31 static int nap_fd = -1; |
17377
3c592b4deb04
utimensat-tests, etc.: try to fix some races
Paul Eggert <eggert@cs.ucla.edu>
parents:
17249
diff
changeset
|
32 |
3c592b4deb04
utimensat-tests, etc.: try to fix some races
Paul Eggert <eggert@cs.ucla.edu>
parents:
17249
diff
changeset
|
33 /* Return A - B, in ns. |
3c592b4deb04
utimensat-tests, etc.: try to fix some races
Paul Eggert <eggert@cs.ucla.edu>
parents:
17249
diff
changeset
|
34 Return 0 if the true result would be negative. |
3c592b4deb04
utimensat-tests, etc.: try to fix some races
Paul Eggert <eggert@cs.ucla.edu>
parents:
17249
diff
changeset
|
35 Return INT_MAX if the true result would be greater than INT_MAX. */ |
17151
d20cbb4d40be
test-utimens: speed up by taking shorter naps
Paul Eggert <eggert@cs.ucla.edu>
parents:
16201
diff
changeset
|
36 static int |
17377
3c592b4deb04
utimensat-tests, etc.: try to fix some races
Paul Eggert <eggert@cs.ucla.edu>
parents:
17249
diff
changeset
|
37 diff_timespec (struct timespec a, struct timespec b) |
17151
d20cbb4d40be
test-utimens: speed up by taking shorter naps
Paul Eggert <eggert@cs.ucla.edu>
parents:
16201
diff
changeset
|
38 { |
17377
3c592b4deb04
utimensat-tests, etc.: try to fix some races
Paul Eggert <eggert@cs.ucla.edu>
parents:
17249
diff
changeset
|
39 time_t as = a.tv_sec; |
3c592b4deb04
utimensat-tests, etc.: try to fix some races
Paul Eggert <eggert@cs.ucla.edu>
parents:
17249
diff
changeset
|
40 time_t bs = b.tv_sec; |
3c592b4deb04
utimensat-tests, etc.: try to fix some races
Paul Eggert <eggert@cs.ucla.edu>
parents:
17249
diff
changeset
|
41 int ans = a.tv_nsec; |
3c592b4deb04
utimensat-tests, etc.: try to fix some races
Paul Eggert <eggert@cs.ucla.edu>
parents:
17249
diff
changeset
|
42 int bns = b.tv_nsec; |
19210
fd018f74e8c3
maint: fix overflow checking in nap.h
Paul Eggert <eggert@cs.ucla.edu>
parents:
19190
diff
changeset
|
43 int sdiff; |
fd018f74e8c3
maint: fix overflow checking in nap.h
Paul Eggert <eggert@cs.ucla.edu>
parents:
19190
diff
changeset
|
44 |
fd018f74e8c3
maint: fix overflow checking in nap.h
Paul Eggert <eggert@cs.ucla.edu>
parents:
19190
diff
changeset
|
45 ASSERT (0 <= ans && ans < 2000000000); |
fd018f74e8c3
maint: fix overflow checking in nap.h
Paul Eggert <eggert@cs.ucla.edu>
parents:
19190
diff
changeset
|
46 ASSERT (0 <= bns && bns < 2000000000); |
17151
d20cbb4d40be
test-utimens: speed up by taking shorter naps
Paul Eggert <eggert@cs.ucla.edu>
parents:
16201
diff
changeset
|
47 |
17377
3c592b4deb04
utimensat-tests, etc.: try to fix some races
Paul Eggert <eggert@cs.ucla.edu>
parents:
17249
diff
changeset
|
48 if (! (bs < as || (bs == as && bns < ans))) |
3c592b4deb04
utimensat-tests, etc.: try to fix some races
Paul Eggert <eggert@cs.ucla.edu>
parents:
17249
diff
changeset
|
49 return 0; |
19210
fd018f74e8c3
maint: fix overflow checking in nap.h
Paul Eggert <eggert@cs.ucla.edu>
parents:
19190
diff
changeset
|
50 |
fd018f74e8c3
maint: fix overflow checking in nap.h
Paul Eggert <eggert@cs.ucla.edu>
parents:
19190
diff
changeset
|
51 if (INT_SUBTRACT_WRAPV (as, bs, &sdiff) |
fd018f74e8c3
maint: fix overflow checking in nap.h
Paul Eggert <eggert@cs.ucla.edu>
parents:
19190
diff
changeset
|
52 || INT_MULTIPLY_WRAPV (sdiff, 1000000000, &sdiff) |
fd018f74e8c3
maint: fix overflow checking in nap.h
Paul Eggert <eggert@cs.ucla.edu>
parents:
19190
diff
changeset
|
53 || INT_ADD_WRAPV (sdiff, ans - bns, &sdiff)) |
fd018f74e8c3
maint: fix overflow checking in nap.h
Paul Eggert <eggert@cs.ucla.edu>
parents:
19190
diff
changeset
|
54 return INT_MAX; |
fd018f74e8c3
maint: fix overflow checking in nap.h
Paul Eggert <eggert@cs.ucla.edu>
parents:
19190
diff
changeset
|
55 |
fd018f74e8c3
maint: fix overflow checking in nap.h
Paul Eggert <eggert@cs.ucla.edu>
parents:
19190
diff
changeset
|
56 return sdiff; |
17151
d20cbb4d40be
test-utimens: speed up by taking shorter naps
Paul Eggert <eggert@cs.ucla.edu>
parents:
16201
diff
changeset
|
57 } |
d20cbb4d40be
test-utimens: speed up by taking shorter naps
Paul Eggert <eggert@cs.ucla.edu>
parents:
16201
diff
changeset
|
58 |
18816
e1738f00d33a
nap.h: Port to native Windows.
Bruno Haible <bruno@clisp.org>
parents:
18815
diff
changeset
|
59 /* If DO_WRITE, bump the modification time of the file designated by NAP_FD. |
e1738f00d33a
nap.h: Port to native Windows.
Bruno Haible <bruno@clisp.org>
parents:
18815
diff
changeset
|
60 Then fetch the new STAT information of NAP_FD. */ |
17151
d20cbb4d40be
test-utimens: speed up by taking shorter naps
Paul Eggert <eggert@cs.ucla.edu>
parents:
16201
diff
changeset
|
61 static void |
18816
e1738f00d33a
nap.h: Port to native Windows.
Bruno Haible <bruno@clisp.org>
parents:
18815
diff
changeset
|
62 nap_get_stat (struct stat *st, int do_write) |
17151
d20cbb4d40be
test-utimens: speed up by taking shorter naps
Paul Eggert <eggert@cs.ucla.edu>
parents:
16201
diff
changeset
|
63 { |
d20cbb4d40be
test-utimens: speed up by taking shorter naps
Paul Eggert <eggert@cs.ucla.edu>
parents:
16201
diff
changeset
|
64 if (do_write) |
18816
e1738f00d33a
nap.h: Port to native Windows.
Bruno Haible <bruno@clisp.org>
parents:
18815
diff
changeset
|
65 { |
e1738f00d33a
nap.h: Port to native Windows.
Bruno Haible <bruno@clisp.org>
parents:
18815
diff
changeset
|
66 ASSERT (write (nap_fd, "\n", 1) == 1); |
39853
508633341b55
stat-time tests: Fix test failure on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
19595
diff
changeset
|
67 #if defined _WIN32 || defined __CYGWIN__ |
508633341b55
stat-time tests: Fix test failure on Cygwin.
Bruno Haible <bruno@clisp.org>
parents:
19595
diff
changeset
|
68 /* On Windows, the modification times are not changed until NAP_FD |
18816
e1738f00d33a
nap.h: Port to native Windows.
Bruno Haible <bruno@clisp.org>
parents:
18815
diff
changeset
|
69 is closed. See |
e1738f00d33a
nap.h: Port to native Windows.
Bruno Haible <bruno@clisp.org>
parents:
18815
diff
changeset
|
70 https://msdn.microsoft.com/en-us/library/windows/desktop/aa365747(v=vs.85).aspx */ |
e1738f00d33a
nap.h: Port to native Windows.
Bruno Haible <bruno@clisp.org>
parents:
18815
diff
changeset
|
71 close (nap_fd); |
e1738f00d33a
nap.h: Port to native Windows.
Bruno Haible <bruno@clisp.org>
parents:
18815
diff
changeset
|
72 nap_fd = open (TEMPFILE, O_RDWR, 0600); |
e1738f00d33a
nap.h: Port to native Windows.
Bruno Haible <bruno@clisp.org>
parents:
18815
diff
changeset
|
73 ASSERT (nap_fd != -1); |
e1738f00d33a
nap.h: Port to native Windows.
Bruno Haible <bruno@clisp.org>
parents:
18815
diff
changeset
|
74 lseek (nap_fd, 0, SEEK_END); |
18820
4e86aec96518
nap.h: Fix compilation on non windows platforms
Pádraig Brady <P@draigBrady.com>
parents:
18816
diff
changeset
|
75 #endif |
18816
e1738f00d33a
nap.h: Port to native Windows.
Bruno Haible <bruno@clisp.org>
parents:
18815
diff
changeset
|
76 } |
e1738f00d33a
nap.h: Port to native Windows.
Bruno Haible <bruno@clisp.org>
parents:
18815
diff
changeset
|
77 ASSERT (fstat (nap_fd, st) == 0); |
17151
d20cbb4d40be
test-utimens: speed up by taking shorter naps
Paul Eggert <eggert@cs.ucla.edu>
parents:
16201
diff
changeset
|
78 } |
d20cbb4d40be
test-utimens: speed up by taking shorter naps
Paul Eggert <eggert@cs.ucla.edu>
parents:
16201
diff
changeset
|
79 |
d20cbb4d40be
test-utimens: speed up by taking shorter naps
Paul Eggert <eggert@cs.ucla.edu>
parents:
16201
diff
changeset
|
80 /* Given a file whose descriptor is FD, see whether delaying by DELAY |
18816
e1738f00d33a
nap.h: Port to native Windows.
Bruno Haible <bruno@clisp.org>
parents:
18815
diff
changeset
|
81 nanoseconds causes a change in a file's mtime. |
17416
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
82 OLD_ST is the file's status, recently gotten. */ |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
83 static bool |
18816
e1738f00d33a
nap.h: Port to native Windows.
Bruno Haible <bruno@clisp.org>
parents:
18815
diff
changeset
|
84 nap_works (int delay, struct stat old_st) |
17151
d20cbb4d40be
test-utimens: speed up by taking shorter naps
Paul Eggert <eggert@cs.ucla.edu>
parents:
16201
diff
changeset
|
85 { |
17416
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
86 struct stat st; |
17377
3c592b4deb04
utimensat-tests, etc.: try to fix some races
Paul Eggert <eggert@cs.ucla.edu>
parents:
17249
diff
changeset
|
87 struct timespec delay_spec; |
3c592b4deb04
utimensat-tests, etc.: try to fix some races
Paul Eggert <eggert@cs.ucla.edu>
parents:
17249
diff
changeset
|
88 delay_spec.tv_sec = delay / 1000000000; |
3c592b4deb04
utimensat-tests, etc.: try to fix some races
Paul Eggert <eggert@cs.ucla.edu>
parents:
17249
diff
changeset
|
89 delay_spec.tv_nsec = delay % 1000000000; |
3c592b4deb04
utimensat-tests, etc.: try to fix some races
Paul Eggert <eggert@cs.ucla.edu>
parents:
17249
diff
changeset
|
90 ASSERT (nanosleep (&delay_spec, 0) == 0); |
18816
e1738f00d33a
nap.h: Port to native Windows.
Bruno Haible <bruno@clisp.org>
parents:
18815
diff
changeset
|
91 nap_get_stat (&st, 1); |
17377
3c592b4deb04
utimensat-tests, etc.: try to fix some races
Paul Eggert <eggert@cs.ucla.edu>
parents:
17249
diff
changeset
|
92 |
18816
e1738f00d33a
nap.h: Port to native Windows.
Bruno Haible <bruno@clisp.org>
parents:
18815
diff
changeset
|
93 if (diff_timespec (get_stat_mtime (&st), get_stat_mtime (&old_st))) |
17416
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
94 return true; |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
95 |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
96 return false; |
17151
d20cbb4d40be
test-utimens: speed up by taking shorter naps
Paul Eggert <eggert@cs.ucla.edu>
parents:
16201
diff
changeset
|
97 } |
d20cbb4d40be
test-utimens: speed up by taking shorter naps
Paul Eggert <eggert@cs.ucla.edu>
parents:
16201
diff
changeset
|
98 |
17416
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
99 static void |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
100 clear_temp_file (void) |
17151
d20cbb4d40be
test-utimens: speed up by taking shorter naps
Paul Eggert <eggert@cs.ucla.edu>
parents:
16201
diff
changeset
|
101 { |
17416
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
102 if (0 <= nap_fd) |
17377
3c592b4deb04
utimensat-tests, etc.: try to fix some races
Paul Eggert <eggert@cs.ucla.edu>
parents:
17249
diff
changeset
|
103 { |
17416
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
104 ASSERT (close (nap_fd) != -1); |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
105 ASSERT (unlink (TEMPFILE) != -1); |
17377
3c592b4deb04
utimensat-tests, etc.: try to fix some races
Paul Eggert <eggert@cs.ucla.edu>
parents:
17249
diff
changeset
|
106 } |
17151
d20cbb4d40be
test-utimens: speed up by taking shorter naps
Paul Eggert <eggert@cs.ucla.edu>
parents:
16201
diff
changeset
|
107 } |
d20cbb4d40be
test-utimens: speed up by taking shorter naps
Paul Eggert <eggert@cs.ucla.edu>
parents:
16201
diff
changeset
|
108 |
12469 | 109 /* Sleep long enough to notice a timestamp difference on the file |
17416
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
110 system in the current directory. Use an adaptive approach, trying |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
111 to find the smallest delay which works on the current file system |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
112 to make the timestamp difference appear. Assert a maximum delay of |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
113 ~2 seconds, more precisely sum(2^n) from 0 to 30 = 2^31 - 1 = 2.1s. |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
114 Assumes that BASE is defined, and requires that the test module |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
115 depends on nanosleep. */ |
12469 | 116 static void |
117 nap (void) | |
118 { | |
17416
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
119 struct stat old_st; |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
120 static int delay = 1; |
17377
3c592b4deb04
utimensat-tests, etc.: try to fix some races
Paul Eggert <eggert@cs.ucla.edu>
parents:
17249
diff
changeset
|
121 |
17416
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
122 if (-1 == nap_fd) |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
123 { |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
124 atexit (clear_temp_file); |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
125 ASSERT ((nap_fd = creat (TEMPFILE, 0600)) != -1); |
18816
e1738f00d33a
nap.h: Port to native Windows.
Bruno Haible <bruno@clisp.org>
parents:
18815
diff
changeset
|
126 nap_get_stat (&old_st, 0); |
17416
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
127 } |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
128 else |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
129 { |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
130 ASSERT (0 <= nap_fd); |
18816
e1738f00d33a
nap.h: Port to native Windows.
Bruno Haible <bruno@clisp.org>
parents:
18815
diff
changeset
|
131 nap_get_stat (&old_st, 1); |
17377
3c592b4deb04
utimensat-tests, etc.: try to fix some races
Paul Eggert <eggert@cs.ucla.edu>
parents:
17249
diff
changeset
|
132 } |
17416
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
133 |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
134 if (1 < delay) |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
135 delay = delay / 2; /* Try half of the previous delay. */ |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
136 ASSERT (0 < delay); |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
137 |
18815 | 138 for (;;) |
139 { | |
140 if (nap_works (delay, old_st)) | |
141 return; | |
142 if (delay <= (2147483647 - 1) / 2) | |
143 { | |
144 delay = delay * 2 + 1; | |
145 continue; | |
146 } | |
147 else | |
148 break; | |
149 } | |
17416
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
150 |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
151 /* Bummer: even the highest nap delay didn't work. */ |
afd09cd62311
tests/nap.h: use an adaptive delay to avoid ctime update issues
Bernhard Voelker <mail@bernhard-voelker.de>
parents:
17377
diff
changeset
|
152 ASSERT (0); |
12469 | 153 } |
154 | |
155 #endif /* GLTEST_NAP_H */ |