Skip to content

Commit 7819919

Browse files
Merge pull request #543 from jacobwilliams/develop2
Develop2
2 parents d296de8 + 90355ef commit 7819919

21 files changed

+288
-42
lines changed

CMakeLists.txt

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -356,8 +356,8 @@ if ( ENABLE_TESTS )
356356
PROPERTIES
357357
RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin )
358358
add_test( NAME ${TEST}
359-
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/bin
360-
COMMAND ./${TEST})
359+
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
360+
COMMAND ./bin/${TEST})
361361
set_tests_properties( ${TEST}
362362
PROPERTIES FIXTURES_REQUIRED JF)
363363
list ( APPEND UNIT_TESTS ${TEST} )
@@ -397,17 +397,17 @@ if ( ENABLE_TESTS )
397397
set( JSON_FORTRAN_COMPARE_FLAG "--ignore-eol")
398398
endif()
399399

400-
foreach ( JSON_FILE ${EXPECTED_OUTPUTS} )
401-
get_filename_component (OUTPUT ${JSON_FILE} NAME )
402-
add_test ( NAME regression-${OUTPUT}
403-
WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/files"
404-
COMMAND ${CMAKE_COMMAND} -E compare_files ${JSON_FORTRAN_COMPARE_FLAG} ${OUTPUT} expected-outputs/${OUTPUT} )
405-
set_property ( TEST regression-${OUTPUT}
406-
APPEND
407-
PROPERTY
408-
DEPENDS ${UNIT_TESTS}
409-
REQUIRED_FILES ${EXPECTED_OUTPUTS} )
410-
endforeach ( JSON_FILE )
400+
# foreach ( JSON_FILE ${EXPECTED_OUTPUTS} )
401+
# get_filename_component (OUTPUT ${JSON_FILE} NAME )
402+
# add_test ( NAME regression-${OUTPUT}
403+
# WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/files"
404+
# COMMAND ${CMAKE_COMMAND} -E compare_files ${JSON_FORTRAN_COMPARE_FLAG} ${OUTPUT} expected-outputs/${OUTPUT} )
405+
# set_property ( TEST regression-${OUTPUT}
406+
# APPEND
407+
# PROPERTY
408+
# DEPENDS ${UNIT_TESTS}
409+
# REQUIRED_FILES ${EXPECTED_OUTPUTS} )
410+
# endforeach ( JSON_FILE )
411411

412412

413413
endif ()

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,9 @@ Currently, several ways are provided to build the JSON-fortran library
112112

113113
The full set of modes are: `static-gnu`, `static-gnu-debug`, `static-intel`, `static-intel-debug`, `shared-gnu`, `shared-gnu-debug`, `shared-intel`, `shared-intel-debug`, `tests-gnu`, `tests-gnu-debug`, `tests-intel`, `tests-intel-debug`
114114

115-
To generate the documentation using [ford](https://github.com/Fortran-FOSS-Programmers/ford), run: ```FoBis.py rule --execute makedoc -f json-fortran.fobis```
115+
To generate the documentation using [ford](https://github.com/Fortran-FOSS-Programmers/ford), run: ```FoBiS.py rule --execute makedoc -f json-fortran.fobis```
116116

117-
To run all the tests, run: ```FoBis.py rule --execute tests -f json-fortran.fobis```
117+
To run all the tests, run: ```FoBiS.py rule --execute tests -f json-fortran.fobis```
118118

119119
* A [Visual Studio](https://www.visualstudio.com) project is included for building the library (and unit tests) on Windows with the Intel Fortran Compiler. The project has been tested with Visual Studio 2010 and 2013.
120120

build.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,9 @@ if [[ $JF_SKIP_TESTS != [yY]* ]] ; then
325325
echo "======================================================"
326326
echo ""
327327
echo "Running ${TEST}"
328-
"./${TEST}"
328+
cd ..
329+
"${BINDIR}${TEST}"
330+
cd "$BINDIR"
329331
done)
330332
echo ""
331333
echo "======================================================"

fpm.toml

Lines changed: 246 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,249 @@ keywords = ["JSON"]
1111
external-modules = "ifcore"
1212

1313
[library]
14-
source-dir = "src"
14+
source-dir = "src"
15+
16+
[[test]]
17+
name = "jf_test_01"
18+
source-dir = "src/tests"
19+
main = "jf_test_01.F90"
20+
21+
[[test]]
22+
name = "jf_test_02"
23+
source-dir = "src/tests"
24+
main = "jf_test_02.F90"
25+
26+
[[test]]
27+
name = "jf_test_03"
28+
source-dir = "src/tests"
29+
main = "jf_test_03.F90"
30+
31+
[[test]]
32+
name = "jf_test_04"
33+
source-dir = "src/tests"
34+
main = "jf_test_04.F90"
35+
36+
[[test]]
37+
name = "jf_test_05"
38+
source-dir = "src/tests"
39+
main = "jf_test_05.F90"
40+
41+
[[test]]
42+
name = "jf_test_06"
43+
source-dir = "src/tests"
44+
main = "jf_test_06.F90"
45+
46+
[[test]]
47+
name = "jf_test_07"
48+
source-dir = "src/tests"
49+
main = "jf_test_07.F90"
50+
51+
[[test]]
52+
name = "jf_test_08"
53+
source-dir = "src/tests"
54+
main = "jf_test_08.F90"
55+
56+
[[test]]
57+
name = "jf_test_09"
58+
source-dir = "src/tests"
59+
main = "jf_test_09.F90"
60+
61+
[[test]]
62+
name = "jf_test_10"
63+
source-dir = "src/tests"
64+
main = "jf_test_10.F90"
65+
66+
[[test]]
67+
name = "jf_test_11"
68+
source-dir = "src/tests"
69+
main = "jf_test_11.F90"
70+
71+
[[test]]
72+
name = "jf_test_12"
73+
source-dir = "src/tests"
74+
main = "jf_test_12.F90"
75+
76+
[[test]]
77+
name = "jf_test_13"
78+
source-dir = "src/tests"
79+
main = "jf_test_13.F90"
80+
81+
[[test]]
82+
name = "jf_test_14"
83+
source-dir = "src/tests"
84+
main = "jf_test_14.F90"
85+
86+
[[test]]
87+
name = "jf_test_15"
88+
source-dir = "src/tests"
89+
main = "jf_test_15.F90"
90+
91+
[[test]]
92+
name = "jf_test_16"
93+
source-dir = "src/tests"
94+
main = "jf_test_16.F90"
95+
96+
[[test]]
97+
name = "jf_test_17"
98+
source-dir = "src/tests"
99+
main = "jf_test_17.F90"
100+
101+
[[test]]
102+
name = "jf_test_18"
103+
source-dir = "src/tests"
104+
main = "jf_test_18.F90"
105+
106+
[[test]]
107+
name = "jf_test_19"
108+
source-dir = "src/tests"
109+
main = "jf_test_19.F90"
110+
111+
[[test]]
112+
name = "jf_test_20"
113+
source-dir = "src/tests"
114+
main = "jf_test_20.F90"
115+
116+
[[test]]
117+
name = "jf_test_21"
118+
source-dir = "src/tests"
119+
main = "jf_test_21.F90"
120+
121+
[[test]]
122+
name = "jf_test_22"
123+
source-dir = "src/tests"
124+
main = "jf_test_22.F90"
125+
126+
[[test]]
127+
name = "jf_test_23"
128+
source-dir = "src/tests"
129+
main = "jf_test_23.F90"
130+
131+
[[test]]
132+
name = "jf_test_24"
133+
source-dir = "src/tests"
134+
main = "jf_test_24.F90"
135+
136+
[[test]]
137+
name = "jf_test_25"
138+
source-dir = "src/tests"
139+
main = "jf_test_25.F90"
140+
141+
[[test]]
142+
name = "jf_test_26"
143+
source-dir = "src/tests"
144+
main = "jf_test_26.F90"
145+
146+
[[test]]
147+
name = "jf_test_27"
148+
source-dir = "src/tests"
149+
main = "jf_test_27.F90"
150+
151+
[[test]]
152+
name = "jf_test_28"
153+
source-dir = "src/tests"
154+
main = "jf_test_28.F90"
155+
156+
[[test]]
157+
name = "jf_test_29"
158+
source-dir = "src/tests"
159+
main = "jf_test_29.F90"
160+
161+
[[test]]
162+
name = "jf_test_30"
163+
source-dir = "src/tests"
164+
main = "jf_test_30.F90"
165+
166+
[[test]]
167+
name = "jf_test_31"
168+
source-dir = "src/tests"
169+
main = "jf_test_31.F90"
170+
171+
[[test]]
172+
name = "jf_test_32"
173+
source-dir = "src/tests"
174+
main = "jf_test_32.F90"
175+
176+
[[test]]
177+
name = "jf_test_33"
178+
source-dir = "src/tests"
179+
main = "jf_test_33.F90"
180+
181+
[[test]]
182+
name = "jf_test_34"
183+
source-dir = "src/tests"
184+
main = "jf_test_34.F90"
185+
186+
[[test]]
187+
name = "jf_test_35"
188+
source-dir = "src/tests"
189+
main = "jf_test_35.F90"
190+
191+
[[test]]
192+
name = "jf_test_36"
193+
source-dir = "src/tests"
194+
main = "jf_test_36.F90"
195+
196+
[[test]]
197+
name = "jf_test_37"
198+
source-dir = "src/tests"
199+
main = "jf_test_37.F90"
200+
201+
[[test]]
202+
name = "jf_test_38"
203+
source-dir = "src/tests"
204+
main = "jf_test_38.F90"
205+
206+
[[test]]
207+
name = "jf_test_39"
208+
source-dir = "src/tests"
209+
main = "jf_test_39.F90"
210+
211+
[[test]]
212+
name = "jf_test_40"
213+
source-dir = "src/tests"
214+
main = "jf_test_40.F90"
215+
216+
[[test]]
217+
name = "jf_test_41"
218+
source-dir = "src/tests"
219+
main = "jf_test_41.F90"
220+
221+
[[test]]
222+
name = "jf_test_42"
223+
source-dir = "src/tests"
224+
main = "jf_test_42.F90"
225+
226+
[[test]]
227+
name = "jf_test_43"
228+
source-dir = "src/tests"
229+
main = "jf_test_43.F90"
230+
231+
[[test]]
232+
name = "jf_test_44"
233+
source-dir = "src/tests"
234+
main = "jf_test_44.F90"
235+
236+
[[test]]
237+
name = "jf_test_45"
238+
source-dir = "src/tests"
239+
main = "jf_test_45.F90"
240+
241+
[[test]]
242+
name = "jf_test_46"
243+
source-dir = "src/tests"
244+
main = "jf_test_46.F90"
245+
246+
[[test]]
247+
name = "jf_test_47"
248+
source-dir = "src/tests"
249+
main = "jf_test_47.F90"
250+
251+
[[test]]
252+
name = "jf_test_48"
253+
source-dir = "src/tests"
254+
main = "jf_test_48.F90"
255+
256+
[[test]]
257+
name = "jf_test_49"
258+
source-dir = "src/tests"
259+
main = "jf_test_49.F90"

json-fortran.fobis

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,8 @@ rule_1 = ford $FORD_FILE
145145

146146
[rule-tests]
147147
help = Rule for running the test programs
148-
rule_1 = (cd bin
149-
GLOBIGNORE='*.*'
150-
ls jf_test_* | sed 's/^\([^0-9]*\)\([0-9]*\)/\1 \2/' | sort -k2,2n | tr -d ' ' |
148+
rule_1 = (GLOBIGNORE='*.*'
149+
ls bin/jf_test_* | sed 's/^\([^0-9]*\)\([0-9]*\)/\1 \2/' | sort -k2,2n | tr -d ' ' |
151150
while read TEST; do
152151
echo ""
153152
echo "Running ${TEST}"

src/json_value_module.F90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1289,7 +1289,7 @@ end function name_strings_equal
12891289
! implicit none
12901290
! type(json_core) :: json
12911291
! type(json_value),pointer :: j1, j2
1292-
! call json%load('../files/inputs/test1.json',j1)
1292+
! call json%load('files/inputs/test1.json',j1)
12931293
! call json%clone(j1,j2) !now have two independent copies
12941294
! call json%destroy(j1) !destroys j1, but j2 remains
12951295
! call json%print(j2,'j2.json')

src/tests/jf_test_01.F90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ module jf_test_1_mod
1515
private
1616
public :: test_1
1717

18-
character(len=*),parameter :: dir = '../files/inputs/' !! working directory
18+
character(len=*),parameter :: dir = 'files/inputs/' !! working directory
1919
character(len=*),parameter :: filename1 = 'test1.json' !! file to read
2020
logical :: namelist_style !! for printing JSON variable paths
2121

src/tests/jf_test_02.F90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ module jf_test_2_mod
1515
private
1616
public :: test_2
1717

18-
character(len=*),parameter :: dir = '../files/' !! working directory
18+
character(len=*),parameter :: dir = 'files/expected-outputs/' !! working directory
1919
character(len=*),parameter :: filename2 = 'test2.json'
2020

2121
contains

src/tests/jf_test_03.F90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ module jf_test_3_mod
1515
private
1616
public :: test_3
1717

18-
character(len=*),parameter :: dir = '../files/inputs/' !! working directory
18+
character(len=*),parameter :: dir = 'files/inputs/' !! working directory
1919
character(len=*),parameter :: filename2 = 'test2.json'
2020

2121
contains

src/tests/jf_test_04.F90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ module jf_test_4_mod
1515
private
1616
public :: test_4
1717

18-
character(len=*),parameter :: dir = '../files/' !! working directory
18+
character(len=*),parameter :: dir = 'files/expected-outputs/' !! working directory
1919
character(len=*),parameter :: filename4 = 'test4.json'
2020

2121
contains

src/tests/jf_test_05.F90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ module jf_test_5_mod
1515
private
1616
public :: test_5
1717

18-
character(len=*),parameter :: dir = '../files/inputs/' !! working directory
18+
character(len=*),parameter :: dir = 'files/inputs/' !! working directory
1919
character(len=*),parameter :: filename5 = 'test5.json'
2020

2121
contains

src/tests/jf_test_06.F90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ module jf_test_6_mod
1616
private
1717
public :: test_6
1818

19-
character(len=*),parameter :: dir = '../files/inputs/' !! working directory
19+
character(len=*),parameter :: dir = 'files/inputs/' !! working directory
2020

2121
contains
2222

src/tests/jf_test_09.F90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ module jf_test_9_mod
3030
!small file that contains unicode characters:
3131
!character(len=*),parameter :: filename = 'hello-world-ucs4.json' !!!! test !!!!
3232

33-
character(len=*),parameter :: dir = '../files/inputs/' !working directory
33+
character(len=*),parameter :: dir = 'files/inputs/' !working directory
3434

3535
contains
3636

0 commit comments

Comments
 (0)