File: MRs.sh

package info (click to toggle)
cssc 1.0.1-1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 3,612 kB
  • ctags: 1,424
  • sloc: cpp: 13,502; sh: 4,759; ansic: 2,971; perl: 342; makefile: 339; awk: 11
file content (101 lines) | stat: -rw-r--r-- 3,336 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#! /bin/sh
# MRs.sh:  Testing for MR numbers.

# Import common functions & definitions.
. ../common/test-common

rm -rf test
remove command.log log log.stdout log.stderr base
remove passwd 
mkdir test 2>/dev/null

# Create the input files.
cat > base <<EOF
%M%: This is a test file containing nothing interesting.
EOF
for i in 1 2 3 4 5 6
do 
    cat base 			   > test/passwd.$i
    echo "This is file number" $i >> test/passwd.$i
done 
remove base test/[xz].* passwd test/[spx].passwd


# Create an SCCS file to work on.
docommand M1 "${admin} -itest/passwd.1 test/s.passwd" 0 "" ""

# Check the file out.
docommand M2 "${get} -e test/s.passwd" 0 "1.1\nnew delta 1.2\n2 lines\n" ""

# Check that the MR validation flag is OFF.
docommand M3 "${prs} -d:MF: test/s.passwd" 0 "no\n" ""

# Check that the MR validation program is unset.
docommand M4 "${prs} -d:MP: test/s.passwd" 0 "none\n" ""

# Set the MR validator to "true".
docommand M5 "${admin} -fvtrue test/s.passwd" 0 "" ""

# Check that the MR validation flag is ON.
docommand M6 "${prs} -d:MF: test/s.passwd" 0 "yes\n" ""

# Check that the MR validation program is set.
docommand M7 "${prs} -d:MP: test/s.passwd" 0 "true\n" ""

# Check in a file, giving an MR.
docommand M8 "${delta} -mmr.XYZZY -ycomment.XYZZY test/s.passwd" 0 \
    "1.2\n0 inserted\n0 deleted\n2 unchanged\n" ""

# Check that the MR for the delta we just did appears in the sccs-prs listing.
docommand M9 "${prs} -r1.2 test/s.passwd |  \
	    sed -ne '/^MRs:$/,/^COMMENTS:$/ p'" 0 \
	    "MRs:\nmr.XYZZY\nCOMMENTS:\n" ""

# Check the file out again.
docommand M10 "${get} -e test/s.passwd" 0 "1.2\nnew delta 1.3\n2 lines\n" ""

# Set the MR validator to "false".
docommand M11 "${admin} -fv/bin/false test/s.passwd" 0 "" ""

# Make sure that the MR validation fails, and delta fails.
docommand M12 "${delta} -mmr.M12 -ycomment.M12 test/s.passwd" 1 "1.3\n" IGNORE

# Unset the validation flag and make sure we can delta afterward.
docommand M13 "${admin} -dv test/s.passwd" 0 "" ""

# Make sure that the delta now succeeds after we have removed the MR flag.
docommand M14 "${delta} -ycomment.M14 test/s.passwd" 0 \
    "1.3\n0 inserted\n0 deleted\n2 unchanged\n" ""

# Check the file out again.
docommand M15 "${get} -e test/s.passwd" 0 "1.3\nnew delta 1.4\n2 lines\n" ""

# Now that MR validation is turned off, we should not be able to specify MRs.
docommand M16 "${delta} -mmr.M16 -ycomment.M16 test/s.passwd" 1 "1.4\n" IGNORE

# If the MR flag is on but has no value ...
docommand M17 "${admin} -fv test/s.passwd" 0 "" ""

# Check that the MR validation flag is ON.
docommand M18 "${prs} -d:MF: test/s.passwd" 0 "yes\n" ""

# Check that the MR validation program is blank.
docommand M19 "${prs} -d:MP: test/s.passwd" 0 "\n" ""

# Hence MRs should be accepted without checking.
docommand M20 "${delta} -mmr.M20 -ycomment.M20 test/s.passwd" 0 \
	"1.4\n0 inserted\n0 deleted\n2 unchanged\n"  ""

# Check the file out again.
docommand M21 "${get} -e test/s.passwd" 0 "1.4\nnew delta 1.5\n2 lines\n" ""

# Check the file out again.  Require MRs.  Try to check in without MRs
docommand M22 "${admin} -fv'test -n' test/s.passwd" 0 "" ""
docommand M23 "${delta} -ycomment.M23 test/s.passwd </dev/null" 1 IGNORE  IGNORE
docommand M24 "test -f test/p.passwd" 0 "" ""

rm -rf test
remove command.log passwd 

success