Skip to content

Commit 3726ca3

Browse files
committed
change test scripts in ci/ to remove scratch directories for new-test
1 parent 8692a9a commit 3726ca3

File tree

5 files changed

+47
-31
lines changed

5 files changed

+47
-31
lines changed

ci/run_tests.bat

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@ if errorlevel 1 exit 1
99
fpm run
1010
if errorlevel 1 exit 1
1111

12+
rmdir fpm_scratch_* /s /q
1213
fpm test
1314
if errorlevel 1 exit 1
15+
rmdir fpm_scratch_* /s /q
1416

1517
build\gfortran_debug\app\fpm
1618
if errorlevel 1 exit 1
@@ -103,4 +105,4 @@ if errorlevel 1 exit 1
103105
if errorlevel 1 exit 1
104106

105107
.\build\gfortran_debug\app\Program_with_module
106-
if errorlevel 1 exit 1
108+
if errorlevel 1 exit 1

ci/run_tests.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ set -ex
55
cd fpm
66
fpm build
77
fpm run
8+
rm -rf fpm_scratch_*/
89
fpm test
10+
rm -rf fpm_scratch_*/
911
build/gfortran_debug/app/fpm
1012

1113
cd ../test/example_packages/hello_world

fpm/fpm.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ rev = "649075aceb97f997665a1a4656514fd2e9b4becc"
1616

1717
[dependencies.fortran-intrinsic-manpages]
1818
git = "https://github.com/urbanjost/M_intrinsics.git"
19+
rev = "a758ebdd0487e8cab5b4894fbf375f87147c44b5"
1920

2021
[[test]]
2122
name = "cli-test"
@@ -31,3 +32,5 @@ main = "new_test.f90"
3132
name = "fpm-test"
3233
source-dir = "test/fpm_test"
3334
main = "main.f90"
35+
36+

fpm/src/fpm/cmd/new.f90

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ subroutine cmd_new(settings)
1515
character(len=:),allocatable :: bname ! baeename of NAME
1616
character(len=:),allocatable :: message(:)
1717
character(len=:),allocatable :: littlefile(:)
18+
character(len=8) :: date
19+
20+
call date_and_time(DATE=date)
1821

1922
if(exists(settings%name) .and. .not.settings%backfill )then
2023
write(stderr,'(*(g0,1x))')&
@@ -53,14 +56,14 @@ subroutine cmd_new(settings)
5356
call warnwrite(join_path(settings%name, 'README.md'), littlefile)
5457

5558
! start building NAME/fpm.toml
56-
message=[character(len=80) :: &
57-
&'name = "'//bname//'" ', &
58-
&'version = "0.1.0" ', &
59-
&'license = "license" ', &
60-
&'author = "Jane Doe" ', &
61-
&'maintainer = "[email protected]" ', &
62-
&'copyright = "2020 Jane Doe" ', &
63-
&' ', &
59+
message=[character(len=80) :: &
60+
&'name = "'//bname//'" ', &
61+
&'version = "0.1.0" ', &
62+
&'license = "license" ', &
63+
&'author = "Jane Doe" ', &
64+
&'maintainer = "[email protected]" ', &
65+
&'copyright = "'//date(1:4)//' Jane Doe" ', &
66+
&' ', &
6467
&'']
6568

6669
if(settings%with_lib)then

fpm/test/new_test/new_test.f90

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,37 +4,42 @@ program new_test
44
use fpm_strings, only : string_t, operator(.in.)
55
use fpm_environment, only : run, get_os_type
66
use fpm_environment, only : OS_UNKNOWN, OS_LINUX, OS_MACOS, OS_CYGWIN, OS_SOLARIS, OS_FREEBSD, OS_WINDOWS
7+
implicit none
78
type(string_t), allocatable :: file_names(:)
89
integer :: i, j, k
910
character(len=*),parameter :: cmdpath = 'build/gfortran_debug/app/fpm'
1011
character(len=:),allocatable :: path
12+
character(len=*),parameter :: scr = 'fpm_scratch_'
1113
character(len=*),parameter :: cmds(*) = [character(len=80) :: &
1214
' new', &
1315
' new no-no', &
14-
' new A', &
15-
' new B --lib', &
16-
' new C --app', &
17-
' new D --test', &
18-
' new E --lib --test ', &
19-
' new F --lib --app', &
20-
' new G --test --app', &
21-
' new BB --lib', &
22-
' new BB --test ', &
23-
' new BB --backfill --test', &
24-
' new CC --test --src --app', &
16+
' new '//scr//'A', &
17+
' new '//scr//'B --lib', &
18+
' new '//scr//'C --app', &
19+
' new '//scr//'D --test', &
20+
' new '//scr//'E --lib --test ', &
21+
' new '//scr//'F --lib --app', &
22+
' new '//scr//'G --test --app', &
23+
' new '//scr//'BB --lib', &
24+
' new '//scr//'BB --test ', &
25+
' new '//scr//'BB --backfill --test', &
26+
' new '//scr//'CC --test --src --app', &
2527
' new --version', &
2628
' new --help']
2729
integer :: estat, cstat
2830
character(len=256) :: message
2931
character(len=:),allocatable :: directories(:)
32+
character(len=:),allocatable :: shortdirs(:)
3033
character(len=:),allocatable :: expected(:)
3134
logical,allocatable :: tally(:)
3235
logical :: IS_OS_WINDOWS
3336
write(*,'(g0:,1x)')'TEST new SUBCOMMAND (draft):'
3437
allocate(tally(0))
35-
directories=[character(len=80) :: 'A','B','C','D','E','F','G','BB','CC']
38+
shortdirs=[character(len=80) :: 'A','B','C','D','E','F','G','BB','CC']
39+
allocate(character(len=80) :: directories(size(shortdirs)))
3640

3741
do i=1,size(directories)
42+
directories(i)=scr//trim(shortdirs(i))
3843
if( is_dir(trim(directories(i))) ) then
3944
write(*,*)'ERROR:',trim( directories(i) ),' already exists'
4045
write(*,*)' you must remove scratch directories before performing this test'
@@ -76,31 +81,31 @@ program new_test
7681
! assuming hidden files in .git and .gitignore are ignored for now
7782
TESTS: do i=1,size(directories)
7883
! test if expected directory exists
79-
if( .not. is_dir(trim(directories(i))) ) then
84+
if( .not. is_dir(trim( directories(i))) ) then
8085
tally=[tally,.false.]
8186
write(*,*)'ERROR:',trim( directories(i) ),' is not a directory'
8287
else
83-
select case(directories(i))
88+
select case(shortdirs(i))
8489
case('A'); expected=[ character(len=80)::&
85-
&'A/app','A/fpm.toml','A/README.md','A/src','A/test','A/app/main.f90','A/src/A.f90','A/test/main.f90']
90+
&'A/app','A/fpm.toml','A/README.md','A/src','A/test','A/app/main.f90','A/src/'//scr//'A.f90','A/test/main.f90']
8691
case('B'); expected=[ character(len=80)::&
87-
&'B/fpm.toml','B/README.md','B/src','B/src/B.f90']
92+
&'B/fpm.toml','B/README.md','B/src','B/src/'//scr//'B.f90']
8893
case('C'); expected=[ character(len=80)::&
8994
&'C/app','C/fpm.toml','C/README.md','C/app/main.f90']
9095
case('D'); expected=[ character(len=80)::&
9196
&'D/fpm.toml','D/README.md','D/test','D/test/main.f90']
9297
case('E'); expected=[ character(len=80)::&
93-
&'E/fpm.toml','E/README.md','E/src','E/test','E/src/E.f90','E/test/main.f90']
98+
&'E/fpm.toml','E/README.md','E/src','E/test','E/src/'//scr//'E.f90','E/test/main.f90']
9499
case('F'); expected=[ character(len=80)::&
95-
&'F/app','F/fpm.toml','F/README.md','F/src','F/app/main.f90','F/src/F.f90']
100+
&'F/app','F/fpm.toml','F/README.md','F/src','F/app/main.f90','F/src/'//scr//'F.f90']
96101
case('G'); expected=[ character(len=80)::&
97102
&'G/app','G/fpm.toml','G/README.md','G/test','G/app/main.f90','G/test/main.f90']
98103
case('BB'); expected=[ character(len=80)::&
99-
&'BB/fpm.toml','BB/README.md','BB/src','BB/test','BB/src/BB.f90','BB/test/main.f90']
104+
&'BB/fpm.toml','BB/README.md','BB/src','BB/test','BB/src/'//scr//'BB.f90','BB/test/main.f90']
100105
case('CC'); expected=[ character(len=80)::&
101-
&'CC/app','CC/fpm.toml','CC/README.md','CC/src','CC/test','CC/app/main.f90','CC/src/CC.f90','CC/test/main.f90']
106+
&'CC/app','CC/fpm.toml','CC/README.md','CC/src','CC/test','CC/app/main.f90','CC/src/'//scr//'CC.f90','CC/test/main.f90']
102107
case default
103-
write(*,*)'ERROR: internal error. unknown directory name ',trim(directories(i))
108+
write(*,*)'ERROR: internal error. unknown directory name ',trim(shortdirs(i))
104109
stop 4
105110
end select
106111
!! MSwindows has hidden files in it
@@ -109,12 +114,13 @@ program new_test
109114

110115
if(size(expected).ne.size(file_names))then
111116
write(*,*)'WARNING: unexpected number of files in file list=',size(file_names),' expected ',size(expected)
112-
write(*,'("EXPECTED: ",*(g0:,","))')(trim(expected(j)),j=1,size(expected))
117+
write(*,'("EXPECTED: ",*(g0:,","))')(scr//trim(expected(j)),j=1,size(expected))
113118
write(*,'("FOUND: ",*(g0:,","))')(trim(file_names(j)%s),j=1,size(file_names))
114119
endif
115120

116121
do j=1,size(expected)
117122

123+
expected(j)=scr//expected(j)
118124
if(is_os_windows) expected(j)=windows_path(expected(j))
119125
if( .not.(trim(expected(j)).in.file_names) )then
120126
tally=[tally,.false.]

0 commit comments

Comments
 (0)