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
cf72f204
Commit
cf72f204
authored
Jan 11, 2002
by
Martin Pool
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Improved test framework and test for hardlink handling
parent
d479210c
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
56 additions
and
45 deletions
+56
-45
runtests.sh
runtests.sh
+40
-25
hardlinks.test
testsuite/hardlinks.test
+1
-1
rsync.fns
testsuite/rsync.fns
+15
-19
No files found.
runtests.sh
View file @
cf72f204
#! /bin/sh
# Copyright (C) 2001 by Martin Pool <mbp@samba.org>
# Copyright (C) 2001
, 2002
by Martin Pool <mbp@samba.org>
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version
...
...
@@ -160,16 +160,25 @@ missing=0
passed
=
0
failed
=
0
scratchdir
=
"
`
pwd
`
"
/testtmp
echo
" scratchdir=
$scratchdir
"
# Prefix for scratch directory. We create separate directories for
# each test case, so that they can be left behind in case of failure
# to aid investigation.
scratchbase
=
"
`
pwd
`
"
/testtmp
echo
" scratchbase=
$scratchbase
"
suitedir
=
"
$srcdir
/testsuite"
export
scratchdir suitedir
clean
_scratch
()
{
prep
_scratch
()
{
[
-d
"
$scratchdir
"
]
&&
rm
-rf
"
$scratchdir
"
mkdir
"
$scratchdir
"
return
0
}
discard_scratch
()
{
[
-d
"
$scratchdir
"
]
&&
rm
-rf
"
$scratchdir
"
return
0
}
if
[
"x
$whichtests
"
=
x
]
...
...
@@ -179,20 +188,27 @@ fi
for
testscript
in
$suitedir
/
$whichtests
do
testbase
=
`
echo
$testscript
|
sed
's!.*/!!'
`
testbase
=
`
echo
$testscript
|
sed
's!.*/!!'
|
sed
-e
's/.test\$//'
`
scratchdir
=
"
$scratchbase
.
$testbase
"
echo
"-----
$testbase
starting"
clean
_scratch
prep
_scratch
if
sh
$RUNSHFLAGS
"
$testscript
"
>
"
$scratchdir
/test.log"
2>&1
then
set
+e
sh
$RUNSHFLAGS
"
$testscript
"
>
"
$scratchdir
/test.log"
2>&1
result
=
$?
set
-e
case
$result
in
0
)
echo
"-----
$testbase
completed successfully"
passed
=
`
expr
$passed
+ 1
`
else
case
$?
in
discard_scratch
;;
77
)
echo
"-----
$testbase
skipped"
skipped
=
`
expr
$skipped
+ 1
`
discard_scratch
;;
*
)
echo
"-----
$testbase
failed: log follows"
...
...
@@ -204,7 +220,6 @@ do
exit
1
fi
esac
fi
done
echo
'------------------------------------------------------------'
...
...
testsuite/hardlinks.test
View file @
cf72f204
...
...
@@ -31,7 +31,7 @@ ln "$name1" "$name2" || fail "Can't create hardlink"
ln
"
$name2
"
"
$name3
"
||
fail
"Can't create hardlink"
cp
"
$name2
"
"
$name4
"
||
fail
"Can't copy file"
checkit
"rsync -aH
\"
$fromdir
/
\"
\"
$todir
/
\"
"
"
$fromdir
"
"
$todir
"
checkit
"rsync -aH
vv
\"
$fromdir
/
\"
\"
$todir
/
\"
"
"
$fromdir
"
"
$todir
"
exit
0
# last [] may have failed but if we get here then we've won
...
...
testsuite/rsync.fns
View file @
cf72f204
...
...
@@ -135,35 +135,31 @@ makepath () {
# there are any difference. If there are, explain them.
checkit
()
{
log
=
${
LOG
}
failed
=
# the log accumulates all output; we only display it if there
# is a problem.
echo
"Running:
\"
$1
\"
"
>
${
log
}
echo
""
>>
${
log
}
eval
"
$1
"
>>
${
log
}
2>&1
# We can just write everything to stdout/stderr, because the
# wrapper hides it unless there is a problem.
echo
"Running:
\"
$1
\"
"
eval
"
$1
"
status
=
$?
if
[
$status
!=
0
]
;
then
failed
=
"YES"
;
fi
echo
"-------------"
>>
${
log
}
echo
"check how the files compare with diff:"
>>
${
log
}
echo
""
>>
${
log
}
diff
-cr
$2
$3
>>
${
log
}
2>&1
||
failed
=
YES
echo
"-------------"
>>
${
log
}
echo
"check how the directory listings compare with diff:"
>>
${
log
}
echo
""
>>
${
log
}
(
cd
"
$2
"
&&
rsync_ls_lR
.
)
>
${
TMP
}
/ls-from
2>>
${
log
}
(
cd
"
$3
"
&&
rsync_ls_lR
.
)
>
${
TMP
}
/ls-to
2>>
${
log
}
diff
-c
${
TMP
}
/ls-from
${
TMP
}
/ls-to
>>
${
log
}
2>&1
||
failed
=
YES
echo
"-------------"
echo
"check how the files compare with diff:"
echo
""
diff
-cr
$2
$3
||
failed
=
YES
echo
"-------------"
echo
"check how the directory listings compare with diff:"
echo
""
(
cd
"
$2
"
&&
rsync_ls_lR
.
)
>
${
TMP
}
/ls-from
(
cd
"
$3
"
&&
rsync_ls_lR
.
)
>
${
TMP
}
/ls-to
diff
-c
${
TMP
}
/ls-from
${
TMP
}
/ls-to
||
failed
=
YES
if
[
-z
"
${
failed
}
"
]
;
then
rm
$log
return
0
else
cat
${
log
}
rm
${
log
}
return
1
fi
}
...
...
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