star-meteo

Time varying meteorological data
git clone git://git.meso-star.fr/star-meteo.git
Log | Files | Refs | README | LICENSE

commit 2c1165482deb834c4819d66723a80cfea2145658
parent 365a71d9e5c52a661479a667481405575dd04e71
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Tue, 12 Aug 2025 17:10:59 +0200

Check loading of invalid files

Invalid files are not generated by a C program, but are provided
explicitly. The tests consist of running the smeteo utility on each of
these files and verifying that it returns an error.

Diffstat:
MMakefile | 40+++++++++++++++++++++++++++++++++++++++-
Asamples/invalid_Ahum.txt | 7+++++++
Asamples/invalid_H.txt | 7+++++++
Asamples/invalid_LE.txt | 7+++++++
Asamples/invalid_Rhum.txt | 7+++++++
Asamples/invalid_Rhum2.txt | 7+++++++
Asamples/invalid_SWdn.txt | 7+++++++
Asamples/invalid_SWdn_diffuse.txt | 7+++++++
Asamples/invalid_SWdn_direct.txt | 7+++++++
Asamples/invalid_SWup.txt | 7+++++++
Asamples/invalid_Tatm.txt | 7+++++++
Asamples/invalid_Trad.txt | 7+++++++
Asamples/invalid_Tsrf.txt | 7+++++++
Asamples/invalid_albedo.txt | 7+++++++
Asamples/invalid_albedo2.txt | 7+++++++
Asamples/invalid_date.txt | 7+++++++
Asamples/invalid_date2.txt | 7+++++++
Asamples/invalid_date3.txt | 7+++++++
Asamples/invalid_date4.txt | 7+++++++
Asamples/invalid_day_1850.txt | 7+++++++
Asamples/invalid_hour.txt | 7+++++++
Asamples/invalid_hour2.txt | 7+++++++
Asamples/invalid_hour3.txt | 7+++++++
Asamples/invalid_latitude.txt | 7+++++++
Asamples/invalid_latitude2.txt | 7+++++++
Asamples/invalid_longitude.txt | 7+++++++
Asamples/invalid_longitude2.txt | 7+++++++
Asamples/missing_data.txt | 7+++++++
28 files changed, 228 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile @@ -150,6 +150,35 @@ TEST_OBJ = $(TEST_SRC:.c=.o) TEST_DEP = $(TEST_SRC:.c=.d) TEST_TGT = $(TEST_SRC:.c=.t) +TEST_FILES_INVALID =\ + samples/invalid_albedo.txt\ + samples/invalid_albedo2.txt\ + samples/invalid_longitude.txt\ + samples/invalid_longitude2.txt\ + samples/invalid_latitude.txt\ + samples/invalid_latitude2.txt\ + samples/invalid_date.txt\ + samples/invalid_date2.txt\ + samples/invalid_date3.txt\ + samples/invalid_date4.txt\ + samples/invalid_hour.txt\ + samples/invalid_hour2.txt\ + samples/invalid_hour3.txt\ + samples/invalid_Tsrf.txt\ + samples/invalid_Tatm.txt\ + samples/invalid_TAhum.txt\ + samples/invalid_TRhum.txt\ + samples/invalid_TRhum2.txt\ + samples/invalid_SWdn.txt\ + samples/invalid_SWdn_direct.txt\ + samples/invalid_SWdn_diffus.txt\ + samples/invalid_SWup.txt\ + samples/invalid_Trad.txt\ + samples/invalid_H.txt\ + samples/invalid_LE.txt\ + samples/invalid_day_1850.txt\ + samples/missing_data.txt + INCS_TEST = $$($(PKG_CONFIG_LOCAL) $(PCFLAGS) --cflags rsys smeteo-local.pc) LIBS_TEST = $$($(PKG_CONFIG_LOCAL) $(PCFLAGS) --libs rsys smeteo-local.pc) @@ -185,7 +214,7 @@ clean_test: rm -f test.txt for i in $(TEST_SRC); do rm -f "$$(basename "$${i}" ".c")"; done -test: tests +test: tests smeteo @err=0; \ for i in $(TEST_SRC); do \ test="$$(basename "$${i}" ".c")"; \ @@ -196,4 +225,13 @@ test: tests err=$$((err+1)); \ fi \ done; \ + for file in $(TEST_FILES_INVALID); do \ + if ! LD_LIBRARY_PATH=./:"$${LD_LIBRARY_PATH}" \ + ./smeteo "$${file}"> /dev/null 2>&1; then \ + printf '%s\n' "$${file}"; \ + else \ + >&2 printf '%s: error %s\n' "$${file}"; \ + err=$$((err+1)); \ + fi \ + done; \ [ "$${err}" -eq 0 ] diff --git a/samples/invalid_Ahum.txt b/samples/invalid_Ahum.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-Jan-1850 01:30:00 287.85 289.62 -4.23 12.28 0.00 0.00 0.00 0.00 271.21 12.60 0.51 0.0625 diff --git a/samples/invalid_H.txt b/samples/invalid_H.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-Jan-1850 01:30:00 287.85 289.62 4.23 12.28 0.00 0.00 0.00 0.00 271.21 NaN 0.51 0.0625 diff --git a/samples/invalid_LE.txt b/samples/invalid_LE.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-Jan-1850 01:30:00 287.85 289.62 4.23 12.28 0.00 0.00 0.00 0.00 271.21 12.60 NaN 0.0625 diff --git a/samples/invalid_Rhum.txt b/samples/invalid_Rhum.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-Jan-1850 01:30:00 287.85 289.62 4.23 -0.0001 0.00 0.00 0.00 0.00 271.21 12.60 0.51 0.0625 diff --git a/samples/invalid_Rhum2.txt b/samples/invalid_Rhum2.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-Jan-1850 01:30:00 287.85 289.62 4.23 100.01 0.00 0.00 0.00 0.00 271.21 12.60 0.51 0.0625 diff --git a/samples/invalid_SWdn.txt b/samples/invalid_SWdn.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-Jan-1850 01:30:00 287.85 289.62 4.23 12.28 -0.01 0.00 0.00 0.00 271.21 12.60 0.51 0.0625 diff --git a/samples/invalid_SWdn_diffuse.txt b/samples/invalid_SWdn_diffuse.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-Jan-1850 01:30:00 287.85 289.62 4.23 12.28 0.00 0.00 -0.01 0.00 271.21 12.60 0.51 0.0625 diff --git a/samples/invalid_SWdn_direct.txt b/samples/invalid_SWdn_direct.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-Jan-1850 01:30:00 287.85 289.62 4.23 12.28 0.00 -0.01 0.00 0.00 271.21 12.60 0.51 0.0625 diff --git a/samples/invalid_SWup.txt b/samples/invalid_SWup.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-Jan-1850 01:30:00 287.85 289.62 4.23 12.28 0.00 0.00 0.00 -0.01 271.21 12.60 0.51 0.0625 diff --git a/samples/invalid_Tatm.txt b/samples/invalid_Tatm.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-Jan-1850 01:30:00 287.85 -289.62 4.23 12.28 0.00 0.00 0.00 0.00 271.21 12.60 0.51 0.0625 diff --git a/samples/invalid_Trad.txt b/samples/invalid_Trad.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-Jan-1850 01:30:00 287.85 289.62 4.23 12.28 0.00 0.00 0.00 0.00 -271.21 12.60 0.51 0.0625 diff --git a/samples/invalid_Tsrf.txt b/samples/invalid_Tsrf.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-Jan-1850 01:30:00 -287.85 289.62 4.23 12.28 0.00 0.00 0.00 0.00 271.21 12.60 0.51 0.0625 diff --git a/samples/invalid_albedo.txt b/samples/invalid_albedo.txt @@ -0,0 +1,7 @@ +-1e-1 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-JAN-1850 01:30:00 287.85 289.62 4.23 12.28 0.00 0.00 0.00 0.00 271.21 12.60 0.51 0.0625 diff --git a/samples/invalid_albedo2.txt b/samples/invalid_albedo2.txt @@ -0,0 +1,7 @@ +1.0000000001 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-JAN-1850 01:30:00 287.85 289.62 4.23 12.28 0.00 0.00 0.00 0.00 271.21 12.60 0.51 0.0625 diff --git a/samples/invalid_date.txt b/samples/invalid_date.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-Jan-1849 01:30:00 287.85 289.62 4.23 12.28 0.00 0.00 0.00 0.00 271.21 12.60 0.51 0.0625 diff --git a/samples/invalid_date2.txt b/samples/invalid_date2.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-01-1850 01:30:00 287.85 289.62 4.23 12.28 0.00 0.00 0.00 0.00 271.21 12.60 0.51 0.0625 diff --git a/samples/invalid_date3.txt b/samples/invalid_date3.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01/Jan/1850 01:30:00 287.85 289.62 4.23 12.28 0.00 0.00 0.00 0.00 271.21 12.60 0.51 0.0625 diff --git a/samples/invalid_date4.txt b/samples/invalid_date4.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +32-Jan-1850 01:30:00 287.85 289.62 4.23 12.28 0.00 0.00 0.00 0.00 271.21 12.60 0.51 0.0625 diff --git a/samples/invalid_day_1850.txt b/samples/invalid_day_1850.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-Jan-1850 01:30:00 287.85 289.62 4.23 12.28 0.00 0.00 0.00 0.00 271.21 12.60 0.51 -0.0625 diff --git a/samples/invalid_hour.txt b/samples/invalid_hour.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-Jan-1850 01:60:00 287.85 289.62 4.23 12.28 0.00 0.00 0.00 0.00 271.21 12.60 0.51 0.0625 diff --git a/samples/invalid_hour2.txt b/samples/invalid_hour2.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-Jan-1850 24:30:00 287.85 289.62 4.23 12.28 0.00 0.00 0.00 0.00 271.21 12.60 0.51 0.0625 diff --git a/samples/invalid_hour3.txt b/samples/invalid_hour3.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-Jan-1850 01:30:70 287.85 289.62 4.23 12.28 0.00 0.00 0.00 0.00 271.21 12.60 0.51 0.0625 diff --git a/samples/invalid_latitude.txt b/samples/invalid_latitude.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +-1.e-12 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-JAN-1850 01:30:00 287.85 289.62 4.23 12.28 0.00 0.00 0.00 0.00 271.21 12.60 0.51 0.0625 diff --git a/samples/invalid_latitude2.txt b/samples/invalid_latitude2.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +90.00001 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-JAN-1850 01:30:00 287.85 289.62 4.23 12.28 0.00 0.00 0.00 0.00 271.21 12.60 0.51 0.0625 diff --git a/samples/invalid_longitude.txt b/samples/invalid_longitude.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +1-e-12 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count# Longitude [deg] + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-JAN-1850 01:30:00 287.85 289.62 4.23 12.28 0.00 0.00 0.00 0.00 271.21 12.60 0.51 0.0625 diff --git a/samples/invalid_longitude2.txt b/samples/invalid_longitude2.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +180.00001 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count# Longitude [deg] + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-JAN-1850 01:30:00 287.85 289.62 4.23 12.28 0.00 0.00 0.00 0.00 271.21 12.60 0.51 0.0625 diff --git a/samples/missing_data.txt b/samples/missing_data.txt @@ -0,0 +1,7 @@ +0.31659812657071051 # Albedo +10.428827285766602 # Longitude [deg] +16.388128280639648 # Latitude [deg] +1 # Time interval count + +# Date Hour Tsrf Tatm Ahum Rhum SWdn direct diffus SWup Trad h LE day/1850 +01-JAN-1850 01:30:00 287.85 289.62 4.23 12.28 0.00 0.00 0.00 0.00 271.21 12.60 0.51 # Missing