New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
07-build-ns-dep.t in vendors/t/fcm-make – NEMO

source: vendors/t/fcm-make/07-build-ns-dep.t @ 10669

Last change on this file since 10669 was 10669, checked in by nicolasmartin, 5 years ago

Import latest FCM release from Github into the repository for testing

File size: 3.1 KB
Line 
1#!/bin/bash
2#-------------------------------------------------------------------------------
3# (C) British Crown Copyright 2006-17 Met Office.
4#
5# This file is part of FCM, tools for managing and building source code.
6#
7# FCM is free software: you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation, either version 3 of the License, or
10# (at your option) any later version.
11#
12# FCM is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15# GNU General Public License for more details.
16#
17# You should have received a copy of the GNU General Public License
18# along with FCM. If not, see <http://www.gnu.org/licenses/>.
19#-------------------------------------------------------------------------------
20# Tests for "fcm make", "build.prop{ns-dep.o}".
21#-------------------------------------------------------------------------------
22. $(dirname $0)/test_header
23#-------------------------------------------------------------------------------
24tests 6
25set -e
26cp -r $TEST_SOURCE_DIR/$TEST_KEY_BASE/* .
27set +e
28#-------------------------------------------------------------------------------
29TEST_KEY="$TEST_KEY_BASE-bad-1"
30run_fail "$TEST_KEY" fcm make
31tail -2 .fcm-make/log >"$TEST_KEY.log" 2>/dev/null
32file_cmp "$TEST_KEY.log" "$TEST_KEY.log" <<'__LOG__'
33[FAIL] foo: bad or missing dependency (type=ns-dep.o)
34[FAIL]     required by: hello.exe
35__LOG__
36#-------------------------------------------------------------------------------
37TEST_KEY="$TEST_KEY_BASE-bad-2"
38mkdir src/foo # An empty directory
39run_fail "$TEST_KEY" fcm make
40tail -2 .fcm-make/log >"$TEST_KEY.log" 2>/dev/null
41file_cmp "$TEST_KEY.log" "$TEST_KEY.log" <<'__LOG__'
42[FAIL] foo: bad or missing dependency (type=ns-dep.o)
43[FAIL]     required by: hello.exe
44__LOG__
45#-------------------------------------------------------------------------------
46TEST_KEY="$TEST_KEY_BASE"
47FCM_TEST_NS_DEP_O=lib run_pass "$TEST_KEY" fcm make
48sed '/^\[info\] \(source->target\|target\) /!d' .fcm-make/log >"$TEST_KEY.log"
49file_cmp "$TEST_KEY.log" "$TEST_KEY.log" <<'__LOG__'
50[info] source->target / -> (archive) lib/ libo.a
51[info] source->target lib -> (archive) lib/ lib/libo.a
52[info] source->target lib/earth.f90 -> (install) include/ earth.f90
53[info] source->target lib/earth.f90 -> (ext-iface) include/ earth.interface
54[info] source->target lib/earth.f90 -> (compile) o/ world.o
55[info] source->target lib/greet.f90 -> (install) include/ greet.f90
56[info] source->target lib/greet.f90 -> (ext-iface) include/ greet.interface
57[info] source->target lib/greet.f90 -> (compile) o/ greet.o
58[info] source->target main -> (archive) lib/ main/libo.a
59[info] source->target main/hello.f90 -> (link) bin/ hello.exe
60[info] source->target main/hello.f90 -> (install) include/ hello.f90
61[info] source->target main/hello.f90 -> (compile) o/ hello.o
62[info] target hello.exe
63[info] target  - greet.o
64[info] target  - hello.o
65[info] target  - world.o
66__LOG__
67#-------------------------------------------------------------------------------
68exit 0
Note: See TracBrowser for help on using the repository browser.