source: LMDZ6/branches/Amaury_dev/tools/fcm/t/fcm-make/38-extract-inherit-set-primary.t @ 5095

Last change on this file since 5095 was 5095, checked in by abarral, 4 months ago

Revert cosp*/ from the trunk, as it's external code
Add missing bits from FCM2 source

  • Property svn:executable set to *
File size: 3.1 KB
Line 
1#!/bin/bash
2#-------------------------------------------------------------------------------
3# Copyright (C) 2006-2021 British Crown (Met Office) & Contributors.
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", "extract", location{primary} reset in inheritance.
21#-------------------------------------------------------------------------------
22. "$(dirname $0)/test_header"
23#-------------------------------------------------------------------------------
24tests 5
25#-------------------------------------------------------------------------------
26set -e
27svnadmin create 'repos'
28T_REPOS="file://${PWD}/repos"
29mkdir 't'
30echo "Hello World" >'t/hello.txt'
31echo "Hi World" >'t/hi.txt'
32svn import --no-auth-cache -q -m'Test' \
33    't/hello.txt' "${T_REPOS}/trunk/hello.txt"
34rm -fr 't'
35mkdir 'etc' 'i0' 'i1' 'junk'
36export FCM_CONF_PATH="${PWD}/etc"
37echo "location{primary}[t]=${T_REPOS}" >"${PWD}/etc/keyword.cfg"
38cat >'i0/fcm-make.cfg' <<__FCM_MAKE_CFG__
39steps=extract
40extract.ns=t
41extract.location{primary}[t]=${T_REPOS}
42__FCM_MAKE_CFG__
43fcm make -q -C 'i0'
44set +e
45#-------------------------------------------------------------------------------
46TEST_KEY="${TEST_KEY_BASE}-reset"
47cat >'i1/fcm-make.cfg' <<__FCM_MAKE_CFG__
48use=${PWD}/i0
49extract.location{primary}[t]=${PWD}/junk
50__FCM_MAKE_CFG__
51run_fail "${TEST_KEY}" fcm make --new -C 'i1'
52file_cmp "${TEST_KEY}.err" "${TEST_KEY}.err" <<__ERR__
53[FAIL] extract.location{primary}[t] = ${PWD}/junk: cannot modify, value is inherited
54[FAIL] config-file=${PWD}/i1/fcm-make.cfg:1
55
56__ERR__
57#-------------------------------------------------------------------------------
58TEST_KEY="${TEST_KEY_BASE}-set-identical"
59cat >'i1/fcm-make.cfg' <<__FCM_MAKE_CFG__
60use=${PWD}/i0
61extract.location{primary}[t]=${T_REPOS}
62__FCM_MAKE_CFG__
63run_pass "${TEST_KEY}" fcm make --new -C 'i1'
64#-------------------------------------------------------------------------------
65TEST_KEY="${TEST_KEY_BASE}-set-same-1"
66cat >'i1/fcm-make.cfg' <<__FCM_MAKE_CFG__
67use=${PWD}/i0
68extract.location{primary}[t]=${T_REPOS}/
69__FCM_MAKE_CFG__
70run_pass "${TEST_KEY}" fcm make --new -C 'i1'
71#-------------------------------------------------------------------------------
72TEST_KEY="${TEST_KEY_BASE}-set-same-2"
73cat >'i1/fcm-make.cfg' <<__FCM_MAKE_CFG__
74use=${PWD}/i0
75extract.location{primary}[t]=fcm:t
76__FCM_MAKE_CFG__
77run_pass "${TEST_KEY}" fcm make --new -C 'i1'
78#-------------------------------------------------------------------------------
79exit 0
Note: See TracBrowser for help on using the repository browser.