Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liblongpath-rsync
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liblongpath
liblongpath-rsync
Commits
6e9ad2bb
Commit
6e9ad2bb
authored
Dec 15, 2009
by
Wayne Davison
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Allow per-test timeout overrides. Give hardlinks more time.
parent
c5130bc1
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
18 additions
and
5 deletions
+18
-5
runtests.sh
runtests.sh
+7
-1
testrun.c
testrun.c
+11
-4
No files found.
runtests.sh
View file @
6e9ad2bb
...
...
@@ -229,8 +229,9 @@ echo " scratchbase=$scratchbase"
[
-d
"
$scratchbase
"
]
||
mkdir
"
$scratchbase
"
suitedir
=
"
$srcdir
/testsuite"
TESTRUN_TIMEOUT
=
300
export
scratchdir suitedir
export
scratchdir suitedir
TESTRUN_TIMEOUT
prep_scratch
()
{
[
-d
"
$scratchdir
"
]
&&
chmod
-R
u+rwX
"
$scratchdir
"
&&
rm
-rf
"
$scratchdir
"
...
...
@@ -261,6 +262,11 @@ do
prep_scratch
case
"
$testscript
"
in
*
hardlinks
*
)
TESTRUN_TIMEOUT
=
600
;;
*
)
TESTRUN_TIMEOUT
=
300
;;
esac
set
+e
"
$TOOLDIR
/"
testrun
$RUNSHFLAGS
"
$testscript
"
>
"
$scratchdir
/test.log"
2>&1
result
=
$?
...
...
testrun.c
View file @
6e9ad2bb
...
...
@@ -2,18 +2,25 @@
#include "rsync.h"
#define MAX_TEST_SECONDS (5*60)
#define DEFAULT_TIMEOUT_SECS (5*60)
#define TIMEOUT_ENV "TESTRUN_TIMEOUT"
int
main
(
int
argc
,
char
*
argv
[])
{
pid_t
pid
;
int
status
,
slept
=
0
;
char
*
timeout_env
;
int
status
,
timeout_secs
,
slept
=
0
;
if
(
argc
<
2
)
{
fprintf
(
stderr
,
"Usage: testrun [SHELL_OPTIONS] TESTSUITE_SCRIPT [ARGS]
\n
"
);
exit
(
1
);
}
if
((
timeout_env
=
getenv
(
TIMEOUT_ENV
))
!=
NULL
)
timeout_secs
=
atoi
(
timeout_env
);
else
timeout_secs
=
DEFAULT_TIMEOUT_SECS
;
if
((
pid
=
fork
())
<
0
)
{
fprintf
(
stderr
,
"TESTRUN ERROR: fork failed: %s
\n
"
,
strerror
(
errno
));
exit
(
1
);
...
...
@@ -36,8 +43,8 @@
fprintf
(
stderr
,
"TESTRUN ERROR: waitpid failed: %s
\n
"
,
strerror
(
errno
));
exit
(
1
);
}
if
(
slept
++
>
MAX_TEST_SECONDS
)
{
fprintf
(
stderr
,
"TESTRUN TIMEOUT: test took over %d seconds.
\n
"
,
MAX_TEST_SECONDS
);
if
(
slept
++
>
timeout_secs
)
{
fprintf
(
stderr
,
"TESTRUN TIMEOUT: test took over %d seconds.
\n
"
,
timeout_secs
);
if
(
kill
(
pid
,
SIGTERM
)
<
0
)
fprintf
(
stderr
,
"TESTRUN ERROR: failed to kill pid %ld: %s
\n
"
,
(
long
)
pid
,
strerror
(
errno
));
else
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment