From 6ab42a3ff0bd943cf3059e4e83260532a536361e Mon Sep 17 00:00:00 2001 From: Zebedee Nicholls Date: Fri, 2 Aug 2024 11:04:15 +0200 Subject: [PATCH 1/5] Make test script more portable and ignore output files --- test_files/.gitignore | 3 +++ test_files/tests.sh | 14 +++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) create mode 100644 test_files/.gitignore diff --git a/test_files/.gitignore b/test_files/.gitignore new file mode 100644 index 0000000..7219052 --- /dev/null +++ b/test_files/.gitignore @@ -0,0 +1,3 @@ +*.nc +tests_output* +cfcache-files-py3/ diff --git a/test_files/tests.sh b/test_files/tests.sh index f13592c..37c6f49 100755 --- a/test_files/tests.sh +++ b/test_files/tests.sh @@ -6,17 +6,19 @@ outdir=tests_output.$$ mkdir $outdir -std_name_table=http://cfconventions.org/Data/cf-standard-names/current/src/cf-standard-name-table.xml -area_table=http://cfconventions.org/Data/area-type-table/current/src/area-type-table.xml +std_name_table=https://cfconventions.org/Data/cf-standard-names/79/src/cf-standard-name-table.xml +area_table=http://cfconventions.org/Data/area-type-table/10/src/area-type-table.xml -cfchecker="cfchecks" + +cfchecker=$(which cfchecks) failed=0 echo "Unzipping input netcdf files..." gzip -d *.gz -cache_opts="-x --cache_dir /home/ros/temp/cfcache-files-py3" +mkdir -p cfcache-files-py3 +cache_opts="-x --cache_dir ./cfcache-files-py3" for file in `ls *.nc` do @@ -37,7 +39,7 @@ do $cfchecker $cache_opts -s $std_name_table -v 1.0 $file > $outdir/$file.out 2>&1 else # Run checker using the CF version specified in the conventions attribute of the file - $cfchecker $cache_opts -s $std_name_table -v auto $file > $outdir/$file.out 2>&1 + $cfchecker $cache_opts -s $std_name_table -a $area_table -v auto $file > $outdir/$file.out 2>&1 fi # Check the output against what is expected @@ -48,8 +50,10 @@ do echo $file: Success rm $outdir/$file.out else + diff $outdir/$file.out $result echo $file: Failed failed=`expr $failed + 1` + exit 1 fi done From 9abb7a49f8905c9f58affc484397c413d96d72a2 Mon Sep 17 00:00:00 2001 From: Zebedee Nicholls Date: Fri, 2 Aug 2024 11:40:16 +0200 Subject: [PATCH 2/5] Remove debugging stuff --- test_files/tests.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/test_files/tests.sh b/test_files/tests.sh index 37c6f49..f453a30 100755 --- a/test_files/tests.sh +++ b/test_files/tests.sh @@ -7,7 +7,7 @@ outdir=tests_output.$$ mkdir $outdir std_name_table=https://cfconventions.org/Data/cf-standard-names/79/src/cf-standard-name-table.xml -area_table=http://cfconventions.org/Data/area-type-table/10/src/area-type-table.xml +area_table=https://cfconventions.org/Data/area-type-table/10/src/area-type-table.xml cfchecker=$(which cfchecks) @@ -50,10 +50,8 @@ do echo $file: Success rm $outdir/$file.out else - diff $outdir/$file.out $result echo $file: Failed failed=`expr $failed + 1` - exit 1 fi done From 210428e4dba7934b4129e07ae1135e9987cb4bee Mon Sep 17 00:00:00 2001 From: Zebedee Nicholls Date: Fri, 2 Aug 2024 11:41:06 +0200 Subject: [PATCH 3/5] Add comment explaining why the pin is needed --- test_files/tests.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test_files/tests.sh b/test_files/tests.sh index f453a30..394af09 100755 --- a/test_files/tests.sh +++ b/test_files/tests.sh @@ -6,6 +6,8 @@ outdir=tests_output.$$ mkdir $outdir +# Pin the tables, as the tests fail if they differ. +# This can be unpinned in future MRs updating the tests. std_name_table=https://cfconventions.org/Data/cf-standard-names/79/src/cf-standard-name-table.xml area_table=https://cfconventions.org/Data/area-type-table/10/src/area-type-table.xml From 2f48fecafdaa3096b52ac989abfc559e1cdb7868 Mon Sep 17 00:00:00 2001 From: Zebedee Nicholls Date: Fri, 2 Aug 2024 11:43:43 +0200 Subject: [PATCH 4/5] Add failing test file --- test_files/issue110.nc.gz | Bin 0 -> 15340 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 test_files/issue110.nc.gz diff --git a/test_files/issue110.nc.gz b/test_files/issue110.nc.gz new file mode 100644 index 0000000000000000000000000000000000000000..a30c467ee98b6e52065772aca5f78ee59ee00f38 GIT binary patch literal 15340 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 K7$$_-ZU6u>tSVLj literal 0 HcmV?d00001 From 54b1bfcfc80852326920143c96c1d529a2f27ecd Mon Sep 17 00:00:00 2001 From: Zebedee Nicholls Date: Fri, 2 Aug 2024 11:52:23 +0200 Subject: [PATCH 5/5] Pass failing test --- src/cfchecker/cfchecks.py | 8 ++++---- test_files/issue110.check | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 test_files/issue110.check diff --git a/src/cfchecker/cfchecks.py b/src/cfchecker/cfchecks.py index 96f8126..e0ca973 100644 --- a/src/cfchecker/cfchecks.py +++ b/src/cfchecker/cfchecks.py @@ -3114,8 +3114,8 @@ def chkDescription(self, varName): elif len(region_names): for region in region_names: - if not region.decode('utf-8') in list(self.region_name_lh.list): - self._add_error("Invalid region name: {}".format(region.decode('utf-8')), + if not region.tolist().decode('utf-8') in list(self.region_name_lh.list): + self._add_error("Invalid region name: {}".format(region.tolist().decode('utf-8')), varName, code="3.3") else: @@ -3145,8 +3145,8 @@ def chkDescription(self, varName): elif len(area_types): for area in area_types: - if not area.decode('utf-8') in list(self.area_type_lh.list): - self._add_error("Invalid area_type: {}".format(area.decode('utf-8')), + if not area.tolist().decode('utf-8') in list(self.area_type_lh.list): + self._add_error("Invalid area_type: {}".format(area.tolist().decode('utf-8')), varName, code="3.3") else: diff --git a/test_files/issue110.check b/test_files/issue110.check new file mode 100644 index 0000000..8a279dd --- /dev/null +++ b/test_files/issue110.check @@ -0,0 +1,32 @@ +CHECKING NetCDF FILE: issue110.nc +===================== +Using CF Checker Version 4.1.0 +Checking against CF Version CF-1.7 +Using Standard Name Table Version 79 (2022-03-19T15:25:54Z) +Using Area Type Table Version 10 (23 June 2020) +Using Standardized Region Name Table Version 4 (18 December 2018) + + +------------------ +Checking variable: siconca +------------------ + +------------------ +Checking variable: time +------------------ + +------------------ +Checking variable: lat +------------------ + +------------------ +Checking variable: lon +------------------ + +------------------ +Checking variable: type +------------------ + +ERRORS detected: 0 +WARNINGS given: 0 +INFORMATION messages: 0