xref: /aosp_15_r20/external/zstd/tests/cli-tests/file-handling/directory-mirror.sh (revision 01826a4963a0d8a59bc3812d29bdf0fb76416722)
1#!/bin/sh
2set -e
3
4# setup
5mkdir -p src/.hidden src/dir
6mkdir mid dst
7
8echo "file1" > src/file1
9echo "file2" > src/.file2
10echo "file3" > src/.hidden/.file3
11echo "file4" > src/dir/.file4
12
13# relative paths
14zstd -q -r --output-dir-mirror mid/ src/
15zstd -q -d -r --output-dir-mirror dst/ mid/src/
16
17diff --brief --recursive --new-file src/ dst/mid/src/
18
19# reset
20rm -rf mid dst
21mkdir mid dst
22
23# from inside the directory
24(cd src; zstd -q -r --output-dir-mirror ../mid/ ./)
25(cd mid; zstd -q -d -r --output-dir-mirror ../dst/ ./)
26
27diff --brief --recursive --new-file src/ dst/
28
29# reset
30rm -rf mid dst
31mkdir mid dst
32
33# absolute paths
34export BASE_PATH="$(pwd)"
35
36zstd -q -r --output-dir-mirror mid/ "${BASE_PATH}/src/"
37zstd -q -d -r --output-dir-mirror  dst/ "${BASE_PATH}/mid/${BASE_PATH}/src/"
38
39diff --brief --recursive --new-file src/ "dst/${BASE_PATH}/mid/${BASE_PATH}/src/"
40
41# reset
42rm -rf mid dst
43mkdir mid dst
44
45# dots
46zstd -q -r --output-dir-mirror mid/ ./src/./
47zstd -q -d -r --output-dir-mirror  dst/ ./mid/./src/./
48
49diff --brief --recursive --new-file src/ dst/mid/src/
50