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.
00-simple.t in vendors/t/fcm-branch-list – NEMO

source: vendors/t/fcm-branch-list/00-simple.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: 5.7 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# Basic tests for "fcm branch-list".
21#-------------------------------------------------------------------------------
22. $(dirname $0)/test_header
23#-------------------------------------------------------------------------------
24check_svn_version
25tests 23
26#-------------------------------------------------------------------------------
27setup
28init_repos
29init_branch sibling_branch_test $REPOS_URL
30init_branch_wc branch_test $REPOS_URL
31cd $TEST_DIR/wc
32fcm branch-create --rev-flag=NONE \
33                  --non-interactive \
34                  --branch-of-branch my_branch_test >/dev/null
35ROOT_PATH=
36if [[ -n ${TEST_PROJECT:-} ]]; then
37    ROOT_PATH=/$TEST_PROJECT
38fi
39MESSAGE=$(echo -e "Created $ROOT_PATH/branches/dev/fred/donuts from /trunk@1.")
40# Please note: if $LOGNAME is drfooeybar or Share, some tests will fail.
41svn mkdir -q -m "Dr Fooeybar branch" $ROOT_URL/branches/dev/drfooeybar/
42svn copy -q -r1 $ROOT_URL/trunk $ROOT_URL/branches/dev/drfooeybar/donuts \
43            -m "Made a branch $MESSAGE" --non-interactive
44FILE_LIST="lib/python/info/__init__.py lib/python/info/poems.py \
45module/hello_constants.f90 module/hello_constants.inc \
46module/hello_constants_dummy.inc"
47for FILE in $FILE_LIST; do 
48    sed -i "s/for/FOR/g; s/fi/end if/g; s/in/IN/g;" $FILE
49    sed -i "/#/d; /^ *!/d" $FILE
50    sed -i "s/!/!!/g; s/q/\nq/g; s/[(]/(\n/g" $FILE
51done
52svn commit -q -m "add branch commit"
53svn update -q
54svn switch -q $ROOT_URL/branches/dev/Share/branch_test
55#-------------------------------------------------------------------------------
56# Tests fcm branch-list
57TEST_KEY=$TEST_KEY_BASE-list
58run_pass "$TEST_KEY" fcm branch-list
59file_cmp "$TEST_KEY.out" "$TEST_KEY.out" <<__OUT__
60[info] $ROOT_URL@9: 1 match(es)
61$ROOT_URL/branches/dev/$LOGNAME/my_branch_test@9
62__OUT__
63file_cmp "$TEST_KEY.err" "$TEST_KEY.err" </dev/null
64#-------------------------------------------------------------------------------
65# Tests fcm branch-list -a
66TEST_KEY=$TEST_KEY_BASE-a
67run_pass "$TEST_KEY" fcm branch-list -a
68sed -i "/ Date/d;" $TEST_DIR/$TEST_KEY.out
69TMPFILE=$(mktemp)
70sort > $TMPFILE <<__OUT__
71[info] $ROOT_URL@9: 4 match(es)
72$ROOT_URL/branches/dev/Share/branch_test@9
73$ROOT_URL/branches/dev/Share/sibling_branch_test@9
74$ROOT_URL/branches/dev/$LOGNAME/my_branch_test@9
75$ROOT_URL/branches/dev/drfooeybar/donuts@9
76__OUT__
77file_cmp "$TEST_KEY.out" "$TEST_KEY.out" <$TMPFILE
78rm -f $TMPFILE
79file_cmp "$TEST_KEY.err" "$TEST_KEY.err" </dev/null
80#-------------------------------------------------------------------------------
81# Tests fcm branch-list --user
82TEST_KEY=$TEST_KEY_BASE-a
83run_pass "$TEST_KEY" fcm branch-list --user=drfooeybar
84sed -i "/ Date/d;" $TEST_DIR/$TEST_KEY.out
85file_cmp "$TEST_KEY.out" "$TEST_KEY.out" <<__OUT__
86[info] $ROOT_URL@9: 1 match(es)
87$ROOT_URL/branches/dev/drfooeybar/donuts@9
88__OUT__
89file_cmp "$TEST_KEY.err" "$TEST_KEY.err" </dev/null
90#-------------------------------------------------------------------------------
91# Tests fcm branch-list --only (1)
92TEST_KEY=$TEST_KEY_BASE-only-1
93run_pass "$TEST_KEY" fcm branch-list --only=3:donut
94sed -i "/ Date/d;" $TEST_DIR/$TEST_KEY.out
95file_cmp "$TEST_KEY.out" "$TEST_KEY.out" <<__OUT__
96[info] $ROOT_URL@9: 1 match(es)
97$ROOT_URL/branches/dev/drfooeybar/donuts@9
98__OUT__
99file_cmp "$TEST_KEY.err" "$TEST_KEY.err" </dev/null
100#-------------------------------------------------------------------------------
101# Tests fcm branch-list --only (2)
102TEST_KEY=$TEST_KEY_BASE-only-2
103run_pass "$TEST_KEY" fcm branch-list --only=2:Share
104sed -i "/ Date/d;" $TEST_DIR/$TEST_KEY.out
105file_cmp "$TEST_KEY.out" "$TEST_KEY.out" <<__OUT__
106[info] $ROOT_URL@9: 2 match(es)
107$ROOT_URL/branches/dev/Share/branch_test@9
108$ROOT_URL/branches/dev/Share/sibling_branch_test@9
109__OUT__
110file_cmp "$TEST_KEY.err" "$TEST_KEY.err" </dev/null
111#-------------------------------------------------------------------------------
112# Tests fcm branch-list --only (3)
113TEST_KEY=$TEST_KEY_BASE-only-3
114run_pass "$TEST_KEY" fcm branch-list --only=2:Share --only=3:sibling
115sed -i "/ Date/d;" $TEST_DIR/$TEST_KEY.out
116file_cmp "$TEST_KEY.out" "$TEST_KEY.out" <<__OUT__
117[info] $ROOT_URL@9: 1 match(es)
118$ROOT_URL/branches/dev/Share/sibling_branch_test@9
119__OUT__
120file_cmp "$TEST_KEY.err" "$TEST_KEY.err" </dev/null
121#-------------------------------------------------------------------------------
122# Tests fcm branch-list --only (4)
123TEST_KEY=$TEST_KEY_BASE-only-4
124run_pass "$TEST_KEY" fcm branch-list --only=1:something-not-right
125sed -i "/ Date/d;" $TEST_DIR/$TEST_KEY.out
126file_cmp "$TEST_KEY.out" "$TEST_KEY.out" <<__OUT__
127[info] $ROOT_URL@9: 0 match(es)
128__OUT__
129file_cmp "$TEST_KEY.err" "$TEST_KEY.err" </dev/null
130#-------------------------------------------------------------------------------
131# Tests fcm branch-list --only (5)
132TEST_KEY=$TEST_KEY_BASE-only-5
133run_fail "$TEST_KEY" fcm branch-list --only=1:\)
134file_cmp "$TEST_KEY.out" "$TEST_KEY.out" </dev/null
135teardown
136#-------------------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.