diff --git a/.github/workflows/run_tests_s3.yml b/.github/workflows/run_tests_s3.yml deleted file mode 100644 index b7f9d3fe6f..0000000000 --- a/.github/workflows/run_tests_s3.yml +++ /dev/null @@ -1,157 +0,0 @@ -### -# Test S3 Support -# -- derived from run_tests_ubuntu.yml -### - -### -# Build hdf5 dependencies and cache them in a combined directory. -### - -name: Run S3 netCDF Tests (under Ubuntu Linux) - -on: [workflow_dispatch] - -concurrency: - group: ${{ github.workflow}}-${{ github.head_ref }} - cancel-in-progress: true - -jobs: - - build-deps-serial: - - runs-on: ubuntu-latest - - strategy: - matrix: - hdf5: [ 1.10.8, 1.12.2, 1.14.3 ] - - steps: - - uses: actions/checkout@v4 - - - name: Install System dependencies - shell: bash -l {0} - run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev - - ### - # Installing libhdf5 - ### - - name: Cache libhdf5-${{ matrix.hdf5 }} - id: cache-hdf5 - uses: actions/cache@v4 - with: - path: ~/environments/${{ matrix.hdf5 }} - key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }} - - - - name: Build libhdf5-${{ matrix.hdf5 }} - if: steps.cache-hdf5.outputs.cache-hit != 'true' - run: | - set -x - - wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-$(echo ${{ matrix.hdf5 }} | cut -d. -f 1,2)/hdf5-${{ matrix.hdf5 }}/src/hdf5-${{ matrix.hdf5 }}.tar.bz2 - tar -jxf hdf5-${{ matrix.hdf5 }}.tar.bz2 - pushd hdf5-${{ matrix.hdf5 }} - ./configure --disable-static --enable-shared --prefix=${HOME}/environments/${{ matrix.hdf5 }} --enable-hl --with-szlib - make -j - make install -j - popd - - - ##### - # S3 Autotools-based tests. - ##### - ## - # Serial - ## - nc-ac-tests-s3-serial: - - needs: build-deps-serial - runs-on: ubuntu-latest - - strategy: - matrix: - hdf5: [ 1.14.3 ] - steps: - - - uses: actions/checkout@v4 - - - name: Install System dependencies - shell: bash -l {0} - run: sudo apt update && sudo apt install -y libaec-dev zlib1g-dev automake autoconf libcurl4-openssl-dev libjpeg-dev wget curl bzip2 m4 flex bison cmake libzip-dev openssl libssl-dev - - ### - # Set Environmental Variables - ### - - - run: echo "CFLAGS=-I${HOME}/environments/${{ matrix.hdf5 }}/include" >> $GITHUB_ENV - - run: echo "LDFLAGS=-L${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV - - run: echo "LD_LIBRARY_PATH=${HOME}/environments/${{ matrix.hdf5 }}/lib" >> $GITHUB_ENV - - - ### - # Fetch Cache - ### - - - name: Fetch HDF Cache - id: cache-hdf - uses: actions/cache@v4 - with: - path: ~/environments/${{ matrix.hdf5 }} - key: hdf5-${{ runner.os }}-${{ matrix.hdf5 }} - - - name: Check Cache - shell: bash -l {0} - run: ls ${HOME}/environments && ls ${HOME}/environments/${{ matrix.hdf5 }} && ls ${HOME}/environments/${{ matrix.hdf5}}/lib - - ### - # Configure and build - ### - - - name: Run autoconf - shell: bash -l {0} - run: autoreconf -if - - - name: Configure - shell: bash -l {0} - run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ./configure --enable-hdf5 --disable-dap --enable-external-server-tests --enable-s3 --enable-s3-internal --with-s3-testing=public - if: ${{ success() }} - - - name: Look at config.log if error - shell: bash -l {0} - run: cat config.log - if: ${{ failure() }} - - - name: Print Summary - shell: bash -l {0} - run: cat libnetcdf.settings - - - name: Build Library and Utilities - shell: bash -l {0} - run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make -j - if: ${{ success() }} - - - name: Build Tests - shell: bash -l {0} - run: CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check TESTS="" -j - if: ${{ success() }} - - - name: Run Tests - shell: bash -l {0} - env: - AWS_PROFILE: ${{ secrets.DEFAULT_PROFILE }} - run: | - mkdir -p ~/.aws - echo "" > ~/.aws/config - chmod go-x ~/.aws/config - echo "${AWS_PROFILE}" >> ~/.aws/config - LD_LIBRARY_PATH="/home/runner/work/netcdf-c/netcdf-c/liblib/.libs:${LD_LIBRARY_PATH}" - CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} make check -j - if: ${{ success() }} - - ##### - # S3 CMake-based tests. - ##### - ## - # Serial - ## - # T.B.D. nc-cmake-tests-s3-serial: diff --git a/.github/workflows/run_tests_ubuntu.yml b/.github/workflows/run_tests_ubuntu.yml index a755db876e..19a22965d9 100644 --- a/.github/workflows/run_tests_ubuntu.yml +++ b/.github/workflows/run_tests_ubuntu.yml @@ -4,7 +4,7 @@ name: Run Ubuntu/Linux netCDF Tests -on: [pull_request, workflow_dispatch] +on: [ pull_request, workflow_dispatch] concurrency: group: ${{ github.workflow}}-${{ github.head_ref }} diff --git a/ncdump/vardata.c b/ncdump/vardata.c index 8e9a524f7a..62e512500c 100644 --- a/ncdump/vardata.c +++ b/ncdump/vardata.c @@ -20,6 +20,12 @@ #include "vardata.h" #include "netcdf_aux.h" +/* If set, then print char variables as utf-8. + If not set, then print non-printable characters as octal. + The latter was the default before this change. +*/ +#define UTF8CHARS + /* maximum len of string needed for one value of a primitive type */ #define MAX_OUTPUT_LEN 100 @@ -340,6 +346,7 @@ pr_tvals( sp = vals + len; while (len != 0 && *--sp == '\0') len--; + /* Walk the sequence of characters and write control characters in escape form. */ for (iel = 0; iel < len; iel++) { unsigned char uc; switch (uc = (unsigned char)(*vals++ & 0377)) { @@ -371,10 +378,12 @@ pr_tvals( printf("\\\""); break; default: - if (isprint(uc)) - printf("%c",uc); - else +#ifdef UTF8CHARS + if (!isprint(uc)) printf("\\%.3o",uc); + else +#endif /*UTF8CHARS*/ + printf("%c",uc); break; } }