diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2017-07-19 09:22:22 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2017-07-19 09:33:32 +0300 |
commit | 3e59cfb01443a14962547ed75bbbaaefa25a7633 (patch) | |
tree | 9bc7839b827b72cd71145a0d570ed86e99f48e0e | |
parent | b0c0f377b5d4eb3344f22cd87171f83085eaa994 (diff) | |
download | runcap-3e59cfb01443a14962547ed75bbbaaefa25a7633.tar.gz runcap-3e59cfb01443a14962547ed75bbbaaefa25a7633.tar.bz2 |
Implement make dist; add new test
* Makefile (distdir,dist,distcheck): New goals.
* t/Makefile (dist): New goal.
* t/06mon.t: New file.
-rw-r--r-- | Makefile | 30 | ||||
-rwxr-xr-x | t/06mon.t | 101 | ||||
-rw-r--r-- | t/Makefile | 19 | ||||
-rw-r--r-- | t/rt.c | 2 |
4 files changed, 149 insertions, 3 deletions
@@ -28,6 +28,9 @@ MKHIER = install -d | |||
28 | # Compiler options | 28 | # Compiler options |
29 | O = -ggdb -Wall | 29 | O = -ggdb -Wall |
30 | 30 | ||
31 | PROJECT = libruncap | ||
32 | VERSION = 1.0 | ||
33 | |||
31 | SOURCES = runcap.c getc.c getl.c seek.c tell.c | 34 | SOURCES = runcap.c getc.c getl.c seek.c tell.c |
32 | OBJECTS = $(SOURCES:.c=.o) | 35 | OBJECTS = $(SOURCES:.c=.o) |
33 | HEADERS = runcap.h | 36 | HEADERS = runcap.h |
@@ -58,7 +61,30 @@ install-man:; | |||
58 | # $(MKHIER) $(DESTDIR)$(MAN2DIR) | 61 | # $(MKHIER) $(DESTDIR)$(MAN2DIR) |
59 | # $(INSTALL) runcap.2 $(DESTDIR)$(MAN2DIR) | 62 | # $(INSTALL) runcap.2 $(DESTDIR)$(MAN2DIR) |
60 | 63 | ||
61 | .PHONY: check | 64 | .PHONY: check distdir |
62 | check: | 65 | check: all |
63 | $(MAKE) -C t check | 66 | $(MAKE) -C t check |
67 | |||
68 | DISTDIR=$(PROJECT)-$(VERSION) | ||
69 | DISTFILES=Makefile $(SOURCES) $(HEADERS) | ||
70 | |||
71 | distdir: | ||
72 | test -d $(DISTDIR) || mkdir $(DISTDIR) | ||
73 | cp $(DISTFILES) $(DISTDIR) | ||
74 | $(MAKE) -C t distdir TOPDISTDIR=`cd $(DISTDIR); pwd` | ||
75 | |||
76 | dist: distdir | ||
77 | tar hzcf $(DISTDIR).tar.gz $(DISTDIR) | ||
78 | rm -rf $(DISTDIR) | ||
79 | |||
80 | distcheck: dist | ||
81 | @mkdir _build; \ | ||
82 | cd _build; \ | ||
83 | tar xzf ../$(DISTDIR).tar.gz; \ | ||
84 | if $(MAKE) -C $(DISTDIR) check; then \ | ||
85 | echo "$(DISTDIR).tar.gz is ready for distribution";\ | ||
86 | else \ | ||
87 | echo "Please, inspect " `pwd`;\ | ||
88 | fi | ||
89 | |||
64 | 90 | ||
diff --git a/t/06mon.t b/t/06mon.t new file mode 100755 index 0000000..4ff3dac --- /dev/null +++ b/t/06mon.t | |||
@@ -0,0 +1,101 @@ | |||
1 | #! ./testsuite | ||
2 | # testsuite for runcap - run program and capture its output | ||
3 | # Copyright (C) 2017 Sergey Poznyakoff | ||
4 | # | ||
5 | # Runcap is free software; you can redistribute it and/or modify it | ||
6 | # under the terms of the GNU General Public License as published by the | ||
7 | # Free Software Foundation; either version 3 of the License, or (at your | ||
8 | # option) any later version. | ||
9 | # | ||
10 | # Runcap is distributed in the hope that it will be useful, | ||
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
13 | # GNU General Public License for more details. | ||
14 | # | ||
15 | # You should have received a copy of the GNU General Public License along | ||
16 | # with Runcap. If not, see <http://www.gnu.org/licenses/>. | ||
17 | |||
18 | TC_TITLE line monitor | ||
19 | |||
20 | TC_EXPECT out <<EOT | ||
21 | [stdout]: CHAPTER I. Down the Rabbit-Hole | ||
22 | [stdout]: | ||
23 | [stdout]: Alice was beginning to get very tired of sitting by her sister on the | ||
24 | [stdout]: bank, and of having nothing to do: once or twice she had peeped into the | ||
25 | [stdout]: book her sister was reading, but it had no pictures or conversations | ||
26 | [stdout]: in it, 'and what is the use of a book,' thought Alice 'without | ||
27 | [stdout]: pictures or conversations?' | ||
28 | [stdout]: | ||
29 | [stdout]: So she was considering in her own mind (as well as she could, for the | ||
30 | [stdout]: hot day made her feel very sleepy and stupid), whether the pleasure of | ||
31 | [stdout]: making a daisy-chain would be worth the trouble of getting up and picking | ||
32 | [stdout]: the daisies, when suddenly a White Rabbit with pink eyes ran close by her. | ||
33 | [stdout]: | ||
34 | [stdout]: There was nothing so very remarkable in that; nor did Alice think it | ||
35 | [stdout]: so very much out of the way to hear the Rabbit say to itself, 'Oh | ||
36 | [stdout]: dear! Oh dear! I shall be late!' (when she thought it over afterwards, | ||
37 | [stdout]: it occurred to her that she ought to have wondered at this, but at the | ||
38 | [stdout]: time it all seemed quite natural); but when the Rabbit actually took a | ||
39 | [stdout]: watch out of its waistcoat-pocket, and looked at it, and then hurried on, | ||
40 | [stdout]: Alice started to her feet, for it flashed across her mind that she had | ||
41 | [stdout]: never before seen a rabbit with either a waistcoat-pocket, or a watch | ||
42 | [stdout]: to take out of it, and burning with curiosity, she ran across the field | ||
43 | [stdout]: after it, and fortunately was just in time to see it pop down a large | ||
44 | [stdout]: rabbit-hole under the hedge. | ||
45 | [stdout]: | ||
46 | [stdout]: In another moment down went Alice after it, never once considering how | ||
47 | [stdout]: in the world she was to get out again. | ||
48 | [stdout]: | ||
49 | [stdout]: The rabbit-hole went straight on like a tunnel for some way, and then | ||
50 | [stdout]: dipped suddenly down, so suddenly that Alice had not a moment to think | ||
51 | [stdout]: about stopping herself before she found herself falling down a very | ||
52 | [stdout]: deep well. | ||
53 | [stdout]: | ||
54 | [stdout]: Either the well was very deep, or she fell very slowly, for she had plenty | ||
55 | [stdout]: of time as she went down to look about her and to wonder what was going | ||
56 | [stdout]: to happen next. First, she tried to look down and make out what she was | ||
57 | [stdout]: coming to, but it was too dark to see anything; then she looked at the | ||
58 | [stdout]: sides of the well, and noticed that they were filled with cupboards | ||
59 | [stdout]: and book-shelves; here and there she saw maps and pictures hung upon | ||
60 | [stdout]: pegs. She took down a jar from one of the shelves as she passed; it was | ||
61 | [stdout]: labelled 'ORANGE MARMALADE', but to her great disappointment it was | ||
62 | [stdout]: empty: she did not like to drop the jar for fear of killing somebody, | ||
63 | [stdout]: so managed to put it into one of the cupboards as she fell past it. | ||
64 | [stdout]: | ||
65 | [stdout]: 'Well!' thought Alice to herself, 'after such a fall as this, | ||
66 | [stdout]: I shall think nothing of tumbling down stairs! How brave they'll all | ||
67 | [stdout]: think me at home! Why, I wouldn't say anything about it, even if I | ||
68 | [stdout]: fell off the top of the house!' (Which was very likely true.) | ||
69 | [stdout]: | ||
70 | [stdout]: Down, down, down. Would the fall never come to an end! 'I wonder how | ||
71 | [stdout]: many miles I've fallen by this time?' she said aloud. 'I must be | ||
72 | [stdout]: getting somewhere near the centre of the earth. Let me see: that would be | ||
73 | [stdout]: four thousand miles down, I think--' (for, you see, Alice had learnt | ||
74 | [stdout]: several things of this sort in her lessons in the schoolroom, and though | ||
75 | [stdout]: this was not a very good opportunity for showing off her knowledge, | ||
76 | [stdout]: as there was no one to listen to her, still it was good practice to | ||
77 | [stdout]: say it over) '--yes, that's about the right distance--but then I | ||
78 | [stdout]: wonder what Latitude or Longitude I've got to?' (Alice had no idea | ||
79 | [stdout]: what Latitude was, or Longitude either, but thought they were nice grand | ||
80 | [stdout]: words to say.) | ||
81 | [stdout]: | ||
82 | [stdout]: Presently she began again. 'I wonder if I shall fall right through | ||
83 | [stdout]: the earth! How funny it'll seem to come out among the people that | ||
84 | [stdout]: walk with their heads downward! The Antipathies, I think--' (she was | ||
85 | [stdout]: rather glad there was no one listening, this time, as it didn't sound | ||
86 | [stdout]: at all the right word) '--but I shall have to ask them what the name | ||
87 | [stdout]: of the country is, you know. Please, Ma'am, is this New Zealand or | ||
88 | [stdout]: Australia?' (and she tried to curtsey as she spoke--fancy curtseying | ||
89 | [stdout]: as you're falling through the air! Do you think you could manage | ||
90 | [stdout]: it?) 'And what an ignorant little girl she'll think me for asking! No, | ||
91 | [stdout]: it'll never do to ask: perhaps I shall see it written up somewhere.' | ||
92 | res=0 | ||
93 | exit code: 0 | ||
94 | stdout: 71 lines, 4051 bytes | ||
95 | stderr: 0 lines, 0 bytes | ||
96 | EOT | ||
97 | |||
98 | rt -m -- genout $testdir/INPUT | ||
99 | |||
100 | |||
101 | |||
@@ -26,3 +26,22 @@ rt: rt.o libruncap.a | |||
26 | cc $(CFLAGS) -o$@ $^ | 26 | cc $(CFLAGS) -o$@ $^ |
27 | 27 | ||
28 | genout: genout.o | 28 | genout: genout.o |
29 | |||
30 | TESTSUITE =\ | ||
31 | testsuite\ | ||
32 | 00simple.t\ | ||
33 | 01lines.t\ | ||
34 | 02two.t\ | ||
35 | 03longout.t\ | ||
36 | 04stdin.t\ | ||
37 | 05stdin.t\ | ||
38 | 06mon.t | ||
39 | |||
40 | |||
41 | DISTDIR = $(TOPDISTDIR)/t | ||
42 | DISTFILES = Makefile rt.c genout.c $(TESTSUITE) INPUT | ||
43 | .PHONY: distdir | ||
44 | distdir: | ||
45 | test -d $(DISTDIR) || mkdir $(DISTDIR) | ||
46 | cp $(DISTFILES) $(DISTDIR) | ||
47 | |||
@@ -100,7 +100,7 @@ nl(struct runcap *rc, int stream) | |||
100 | n = 1; | 100 | n = 1; |
101 | while ((res = runcap_getline(rc, stream, &buf, &size)) > 0) { | 101 | while ((res = runcap_getline(rc, stream, &buf, &size)) > 0) { |
102 | buf[res-1] = 0; | 102 | buf[res-1] = 0; |
103 | printf("% *d: %s\n", width, n, buf); | 103 | printf("% *zd: %s\n", width, n, buf); |
104 | n++; | 104 | n++; |
105 | } | 105 | } |
106 | if (res) | 106 | if (res) |