diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2020-02-02 22:34:56 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2020-02-04 21:43:42 +0100 |
| commit | 87318283eedef680356ef272a6af39ac3140d333 (patch) | |
| tree | de858fc84d84e0ac6eec8d121ee5f2b76b55e0ea /test/cli/test_projsync | |
| parent | 42035701c02d15d586e762afa1db5c8b5c9eac39 (diff) | |
| download | PROJ-87318283eedef680356ef272a6af39ac3140d333.tar.gz PROJ-87318283eedef680356ef272a6af39ac3140d333.zip | |
Add projsync utility
Fixes #1750
Diffstat (limited to 'test/cli/test_projsync')
| -rwxr-xr-x | test/cli/test_projsync | 194 |
1 files changed, 194 insertions, 0 deletions
diff --git a/test/cli/test_projsync b/test/cli/test_projsync new file mode 100755 index 00000000..0292ceaa --- /dev/null +++ b/test/cli/test_projsync @@ -0,0 +1,194 @@ +: +# Test projsync + +TEST_CLI_DIR=`dirname $0` +EXE=$1 + +usage() +{ + echo "Usage: ${0} <path to 'projsync' program>" + echo + exit 1 +} + +if test -z "${EXE}"; then + EXE=../../src/projsync +fi + +if test ! -x ${EXE}; then + echo "*** ERROR: Can not find '${EXE}' program!" + exit 1 +fi + +echo "============================================" +echo "Running ${0} using ${EXE}:" +echo "============================================" + +if ! curl -s https://cdn.proj.org/files.geojson >/dev/null 2>/dev/null; then + if ! wget https://cdn.proj.org/files.geojson -O /dev/null 2>/dev/null; then + echo "Cannot download https://cdn.proj.org/files.geojson. Skipping test" + exit 0 + fi +fi + +TMP_OUT=test_projsync_out.txt + +rm -rf tmp_user_writable_directory +mkdir -p tmp_user_writable_directory + +echo "Testing $EXE --list-files --target-dir tmp_user_writable_directory" +if ! $EXE --list-files --target-dir tmp_user_writable_directory > ${TMP_OUT}; then + echo "--list-files failed" + cat ${TMP_OUT} + exit 100 +fi +cat ${TMP_OUT} | grep "at_bev_README.txt,,at_bev" >/dev/null || (cat ${TMP_OUT}; exit 100) + +export PROJ_USER_WRITABLE_DIRECTORY=tmp_user_writable_directory + +if test ! -f ${PROJ_USER_WRITABLE_DIRECTORY}/cache.db; then + echo "*** ERROR: Can not find ${PROJ_USER_WRITABLE_DIRECTORY}/cache.db!" + exit 100 +fi +if test ! -f ${PROJ_USER_WRITABLE_DIRECTORY}/files.geojson; then + echo "*** ERROR: Can not find ${PROJ_USER_WRITABLE_DIRECTORY}/files.geojson!" + exit 100 +fi + +echo "Testing $EXE --all" +if ! $EXE --all --dry-run > ${TMP_OUT}; then + echo "--all failed" + cat ${TMP_OUT} + exit 100 +fi +cat ${TMP_OUT} | grep "Would download https://cdn.proj.org/at_bev_README.txt" >/dev/null || (cat ${TMP_OUT}; exit 100) + + +echo "Testing $EXE --source-id fr_ign" +if ! $EXE --source-id fr_ign --dry-run > ${TMP_OUT}; then + echo "--source-id fr_ign failed" + cat ${TMP_OUT} + exit 100 +fi +cat ${TMP_OUT} | grep "fr_ign_README.txt" >/dev/null || (cat ${TMP_OUT}; exit 100) + + +echo "Testing $EXE --source-id non_existing" +if $EXE --source-id non_existing >${TMP_OUT} 2>&1 ; then + echo "--source-id non_existing failed" + cat ${TMP_OUT} + exit 100 +fi +cat ${TMP_OUT} | grep "Warning: 'non_existing' is a unknown value for --source-id" >/dev/null || (cat ${TMP_OUT}; exit 100) +cat ${TMP_OUT} | grep "fr_ign" >/dev/null || (cat ${TMP_OUT}; exit 100) + + +echo "Testing $EXE --area-of-use France" +if ! $EXE --area-of-use France --dry-run > ${TMP_OUT}; then + echo "--area-of-use France failed" + cat ${TMP_OUT} + exit 100 +fi +cat ${TMP_OUT} | grep "fr_ign_ntf_r93.tif" >/dev/null || (cat ${TMP_OUT}; exit 100) + + +echo "Testing $EXE --area-of-use non_existing" +if $EXE --area-of-use non_existing >${TMP_OUT} 2>&1 ; then + echo "--area-of-use non_existing failed" + cat ${TMP_OUT} + exit 100 +fi +cat ${TMP_OUT} | grep "Warning: 'non_existing' is a unknown value for --area-of-use." >/dev/null || (cat ${TMP_OUT}; exit 100) +cat ${TMP_OUT} | grep "Australia" >/dev/null || (cat ${TMP_OUT}; exit 100) + + +echo "Testing $EXE --file ntf_r93" +if ! $EXE --file ntf_r93 > ${TMP_OUT}; then + echo "--file ntf_r93 failed" + cat ${TMP_OUT} + exit 100 +fi +cat ${TMP_OUT} | grep "Downloading https://cdn.proj.org/fr_ign_ntf_r93.tif" >/dev/null || (cat ${TMP_OUT}; exit 100) + +if test ! -f ${PROJ_USER_WRITABLE_DIRECTORY}/fr_ign_ntf_r93.tif; then + echo "*** ERROR: Can not find ${PROJ_USER_WRITABLE_DIRECTORY}/fr_ign_ntf_r93.tif!" + exit 100 +fi + +echo "Testing $EXE --file ntf_r93 a second time" +if ! $EXE --file ntf_r93 > ${TMP_OUT}; then + echo "--file ntf_r93 failed" + cat ${TMP_OUT} + exit 100 +fi +cat ${TMP_OUT} | grep "https://cdn.proj.org/fr_ign_ntf_r93.tif already downloaded" >/dev/null || (cat ${TMP_OUT}; exit 100) + +rm -f ${PROJ_USER_WRITABLE_DIRECTORY}/fr_ign_ntf_r93.tif + + +echo "Testing $EXE --file non_existing" +if $EXE --file non_existing >${TMP_OUT} 2>&1 ; then + echo "--file non_existing failed" + cat ${TMP_OUT} + exit 100 +fi +cat ${TMP_OUT} | grep "Warning: 'non_existing' is a unknown value for --file." >/dev/null || (cat ${TMP_OUT}; exit 100) +cat ${TMP_OUT} | grep "fr_ign_ntf_r93.tif" >/dev/null || (cat ${TMP_OUT}; exit 100) + + +echo "Testing $EXE --bbox 2,49,3,50" +if ! $EXE --bbox 2,49,3,50 --dry-run > ${TMP_OUT}; then + echo "--bbox 2,49,3,50 failed" + cat ${TMP_OUT} + exit 100 +fi +cat ${TMP_OUT} | grep "fr_ign_ntf_r93.tif" >/dev/null || (cat ${TMP_OUT}; exit 100) +cat ${TMP_OUT} | grep "us_nga_egm96_15.tif" >/dev/null || (cat ${TMP_OUT}; exit 100) + + +echo "Testing $EXE --bbox 2,49,3,50 --exclude-world-coverage" +if ! $EXE --bbox 2,49,3,50 --exclude-world-coverage --dry-run > ${TMP_OUT}; then + echo "--bbox 2,49,3,50 --exclude-world-coverage failed" + cat ${TMP_OUT} + exit 100 +fi +cat ${TMP_OUT} | grep "fr_ign_ntf_r93.tif" >/dev/null || (cat ${TMP_OUT}; exit 100) +if cat ${TMP_OUT} | grep "us_nga_egm96_15.tif" >/dev/null; then + cat ${TMP_OUT} + exit 100 +fi + + +echo "Testing $EXE --bbox 170,-90,-170,90" +if ! $EXE --bbox 170,-90,-170,90 --dry-run > ${TMP_OUT}; then + echo "--bbox 170,-90,-170,90 failed" + cat ${TMP_OUT} + exit 100 +fi +cat ${TMP_OUT} | grep "nz_linz_nzgeoid2009.tif" >/dev/null || (cat ${TMP_OUT}; exit 100) +cat ${TMP_OUT} | grep "us_noaa_alaska.tif" >/dev/null || (cat ${TMP_OUT}; exit 100) + + +echo "Testing $EXE --bbox 170,-90,190,90" +if ! $EXE --bbox 170,-90,190,90 --dry-run > ${TMP_OUT}; then + echo "--bbox 170,-90,190,90 failed" + cat ${TMP_OUT} + exit 100 +fi +cat ${TMP_OUT} | grep "nz_linz_nzgeoid2009.tif" >/dev/null || (cat ${TMP_OUT}; exit 100) +cat ${TMP_OUT} | grep "us_noaa_alaska.tif" >/dev/null || (cat ${TMP_OUT}; exit 100) + + +echo "Testing $EXE --bbox -190,-90,-170,90" +if ! $EXE --bbox -190,-90,-170,90 --dry-run > ${TMP_OUT}; then + echo "--bbox -190,-90,-170,90 failed" + cat ${TMP_OUT} + exit 100 +fi +cat ${TMP_OUT} | grep "nz_linz_nzgeoid2009.tif" >/dev/null || (cat ${TMP_OUT}; exit 100) +cat ${TMP_OUT} | grep "us_noaa_alaska.tif" >/dev/null || (cat ${TMP_OUT}; exit 100) + +rm -rf ${PROJ_USER_WRITABLE_DIRECTORY} +rm ${TMP_OUT} + +exit 0 |
