aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2017-07-19 09:22:22 +0300
committerSergey Poznyakoff <gray@gnu.org>2017-07-19 09:33:32 +0300
commit3e59cfb01443a14962547ed75bbbaaefa25a7633 (patch)
tree9bc7839b827b72cd71145a0d570ed86e99f48e0e
parentb0c0f377b5d4eb3344f22cd87171f83085eaa994 (diff)
downloadruncap-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--Makefile30
-rwxr-xr-xt/06mon.t101
-rw-r--r--t/Makefile19
-rw-r--r--t/rt.c2
4 files changed, 149 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 4eb3a1c..03b87d8 100644
--- a/Makefile
+++ b/Makefile
@@ -28,6 +28,9 @@ MKHIER = install -d
28# Compiler options 28# Compiler options
29O = -ggdb -Wall 29O = -ggdb -Wall
30 30
31PROJECT = libruncap
32VERSION = 1.0
33
31SOURCES = runcap.c getc.c getl.c seek.c tell.c 34SOURCES = runcap.c getc.c getl.c seek.c tell.c
32OBJECTS = $(SOURCES:.c=.o) 35OBJECTS = $(SOURCES:.c=.o)
33HEADERS = runcap.h 36HEADERS = 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
62check: 65check: all
63 $(MAKE) -C t check 66 $(MAKE) -C t check
67
68DISTDIR=$(PROJECT)-$(VERSION)
69DISTFILES=Makefile $(SOURCES) $(HEADERS)
70
71distdir:
72 test -d $(DISTDIR) || mkdir $(DISTDIR)
73 cp $(DISTFILES) $(DISTDIR)
74 $(MAKE) -C t distdir TOPDISTDIR=`cd $(DISTDIR); pwd`
75
76dist: distdir
77 tar hzcf $(DISTDIR).tar.gz $(DISTDIR)
78 rm -rf $(DISTDIR)
79
80distcheck: 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
18TC_TITLE line monitor
19
20TC_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.'
92res=0
93exit code: 0
94stdout: 71 lines, 4051 bytes
95stderr: 0 lines, 0 bytes
96EOT
97
98rt -m -- genout $testdir/INPUT
99
100
101
diff --git a/t/Makefile b/t/Makefile
index a8c8bac..7e62a8b 100644
--- a/t/Makefile
+++ b/t/Makefile
@@ -26,3 +26,22 @@ rt: rt.o libruncap.a
26 cc $(CFLAGS) -o$@ $^ 26 cc $(CFLAGS) -o$@ $^
27 27
28genout: genout.o 28genout: genout.o
29
30TESTSUITE =\
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
41DISTDIR = $(TOPDISTDIR)/t
42DISTFILES = Makefile rt.c genout.c $(TESTSUITE) INPUT
43.PHONY: distdir
44distdir:
45 test -d $(DISTDIR) || mkdir $(DISTDIR)
46 cp $(DISTFILES) $(DISTDIR)
47
diff --git a/t/rt.c b/t/rt.c
index a465640..6496cfd 100644
--- a/t/rt.c
+++ b/t/rt.c
@@ -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)

Return to:

Send suggestions and report system problems to the System administrator.