Skip to content

Commit

Permalink
tests: simplify docker rsync & support worktrees
Browse files Browse the repository at this point in the history
The previous, more complex mechanism failed to take into account that
git worktrees only have a stub .git file & copying the worktree itself
is not enough.  Just extract a file list beforehand & don't bother with
git inside the container.

Signed-off-by: David Lamparter <equinox@diac24.net>
  • Loading branch information
eqvinox committed Mar 17, 2021
1 parent 071f5c1 commit 53abc26
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 9 deletions.
1 change: 1 addition & 0 deletions tests/topotests/docker/frr-topotests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ if [ -z "$TOPOTEST_FRR" ]; then
echo "frr-topotests only works if you have your tree in git." >&2
exit 1
fi
git -C "$TOPOTEST_FRR" ls-files -z > "${TOPOTEST_LOGS}/git-ls-files"
fi

if [ -z "$TOPOTEST_BUILDCACHE" ]; then
Expand Down
12 changes: 4 additions & 8 deletions tests/topotests/docker/inner/compile_frr.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,19 +34,15 @@ CDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

if [ "${TOPOTEST_CLEAN}" != "0" ]; then
log_info "Cleaning FRR builddir..."
rm -rf $FRR_SYNC_DIR $FRR_BUILD_DIR &> /dev/null
rm -rf $FRR_BUILD_DIR &> /dev/null
fi

log_info "Syncing FRR source with host..."
mkdir -p $FRR_SYNC_DIR
mkdir -p $FRR_BUILD_DIR
rsync -a --info=progress2 \
--exclude '*.o' \
--exclude '*.lo'\
--from0 --files-from=/tmp/git-ls-files \
--chown root:root \
$FRR_HOST_DIR/. $FRR_SYNC_DIR/
(cd $FRR_SYNC_DIR && git clean -xdf > /dev/null)
mkdir -p $FRR_BUILD_DIR
rsync -a --info=progress2 --chown root:root $FRR_SYNC_DIR/. $FRR_BUILD_DIR/
$FRR_HOST_DIR/. $FRR_BUILD_DIR/

cd "$FRR_BUILD_DIR" || \
log_fatal "failed to find frr directory"
Expand Down
1 change: 0 additions & 1 deletion tests/topotests/docker/inner/funcs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
# SOFTWARE.

FRR_HOST_DIR=/root/host-frr
FRR_SYNC_DIR=/root/persist/frr-sync
FRR_BUILD_DIR=/root/persist/frr-build

if [ ! -L "/root/frr" ]; then
Expand Down

0 comments on commit 53abc26

Please sign in to comment.