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
@@ -25,12 +25,15 @@ INSTALL = install # Program to make directory hierarchy. MKHIER = install -d # Compiler options O = -ggdb -Wall +PROJECT = libruncap +VERSION = 1.0 + SOURCES = runcap.c getc.c getl.c seek.c tell.c OBJECTS = $(SOURCES:.c=.o) HEADERS = runcap.h CFLAGS = $(O) LDFLAGS = @@ -55,10 +58,33 @@ install-headers: runcap.h $(INSTALL) runcap.h $(DESTDIR)$(INCLUDEDIR) install-man:; # $(MKHIER) $(DESTDIR)$(MAN2DIR) # $(INSTALL) runcap.2 $(DESTDIR)$(MAN2DIR) -.PHONY: check -check: +.PHONY: check distdir +check: all $(MAKE) -C t check + +DISTDIR=$(PROJECT)-$(VERSION) +DISTFILES=Makefile $(SOURCES) $(HEADERS) + +distdir: + test -d $(DISTDIR) || mkdir $(DISTDIR) + cp $(DISTFILES) $(DISTDIR) + $(MAKE) -C t distdir TOPDISTDIR=`cd $(DISTDIR); pwd` + +dist: distdir + tar hzcf $(DISTDIR).tar.gz $(DISTDIR) + rm -rf $(DISTDIR) + +distcheck: dist + @mkdir _build; \ + cd _build; \ + tar xzf ../$(DISTDIR).tar.gz; \ + if $(MAKE) -C $(DISTDIR) check; then \ + echo "$(DISTDIR).tar.gz is ready for distribution";\ + else \ + echo "Please, inspect " `pwd`;\ + fi + 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 @@ +#! ./testsuite +# testsuite for runcap - run program and capture its output +# Copyright (C) 2017 Sergey Poznyakoff +# +# Runcap is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# Runcap is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with Runcap. If not, see <http://www.gnu.org/licenses/>. + +TC_TITLE line monitor + +TC_EXPECT out <<EOT +[stdout]: CHAPTER I. Down the Rabbit-Hole +[stdout]: +[stdout]: Alice was beginning to get very tired of sitting by her sister on the +[stdout]: bank, and of having nothing to do: once or twice she had peeped into the +[stdout]: book her sister was reading, but it had no pictures or conversations +[stdout]: in it, 'and what is the use of a book,' thought Alice 'without +[stdout]: pictures or conversations?' +[stdout]: +[stdout]: So she was considering in her own mind (as well as she could, for the +[stdout]: hot day made her feel very sleepy and stupid), whether the pleasure of +[stdout]: making a daisy-chain would be worth the trouble of getting up and picking +[stdout]: the daisies, when suddenly a White Rabbit with pink eyes ran close by her. +[stdout]: +[stdout]: There was nothing so very remarkable in that; nor did Alice think it +[stdout]: so very much out of the way to hear the Rabbit say to itself, 'Oh +[stdout]: dear! Oh dear! I shall be late!' (when she thought it over afterwards, +[stdout]: it occurred to her that she ought to have wondered at this, but at the +[stdout]: time it all seemed quite natural); but when the Rabbit actually took a +[stdout]: watch out of its waistcoat-pocket, and looked at it, and then hurried on, +[stdout]: Alice started to her feet, for it flashed across her mind that she had +[stdout]: never before seen a rabbit with either a waistcoat-pocket, or a watch +[stdout]: to take out of it, and burning with curiosity, she ran across the field +[stdout]: after it, and fortunately was just in time to see it pop down a large +[stdout]: rabbit-hole under the hedge. +[stdout]: +[stdout]: In another moment down went Alice after it, never once considering how +[stdout]: in the world she was to get out again. +[stdout]: +[stdout]: The rabbit-hole went straight on like a tunnel for some way, and then +[stdout]: dipped suddenly down, so suddenly that Alice had not a moment to think +[stdout]: about stopping herself before she found herself falling down a very +[stdout]: deep well. +[stdout]: +[stdout]: Either the well was very deep, or she fell very slowly, for she had plenty +[stdout]: of time as she went down to look about her and to wonder what was going +[stdout]: to happen next. First, she tried to look down and make out what she was +[stdout]: coming to, but it was too dark to see anything; then she looked at the +[stdout]: sides of the well, and noticed that they were filled with cupboards +[stdout]: and book-shelves; here and there she saw maps and pictures hung upon +[stdout]: pegs. She took down a jar from one of the shelves as she passed; it was +[stdout]: labelled 'ORANGE MARMALADE', but to her great disappointment it was +[stdout]: empty: she did not like to drop the jar for fear of killing somebody, +[stdout]: so managed to put it into one of the cupboards as she fell past it. +[stdout]: +[stdout]: 'Well!' thought Alice to herself, 'after such a fall as this, +[stdout]: I shall think nothing of tumbling down stairs! How brave they'll all +[stdout]: think me at home! Why, I wouldn't say anything about it, even if I +[stdout]: fell off the top of the house!' (Which was very likely true.) +[stdout]: +[stdout]: Down, down, down. Would the fall never come to an end! 'I wonder how +[stdout]: many miles I've fallen by this time?' she said aloud. 'I must be +[stdout]: getting somewhere near the centre of the earth. Let me see: that would be +[stdout]: four thousand miles down, I think--' (for, you see, Alice had learnt +[stdout]: several things of this sort in her lessons in the schoolroom, and though +[stdout]: this was not a very good opportunity for showing off her knowledge, +[stdout]: as there was no one to listen to her, still it was good practice to +[stdout]: say it over) '--yes, that's about the right distance--but then I +[stdout]: wonder what Latitude or Longitude I've got to?' (Alice had no idea +[stdout]: what Latitude was, or Longitude either, but thought they were nice grand +[stdout]: words to say.) +[stdout]: +[stdout]: Presently she began again. 'I wonder if I shall fall right through +[stdout]: the earth! How funny it'll seem to come out among the people that +[stdout]: walk with their heads downward! The Antipathies, I think--' (she was +[stdout]: rather glad there was no one listening, this time, as it didn't sound +[stdout]: at all the right word) '--but I shall have to ask them what the name +[stdout]: of the country is, you know. Please, Ma'am, is this New Zealand or +[stdout]: Australia?' (and she tried to curtsey as she spoke--fancy curtseying +[stdout]: as you're falling through the air! Do you think you could manage +[stdout]: it?) 'And what an ignorant little girl she'll think me for asking! No, +[stdout]: it'll never do to ask: perhaps I shall see it written up somewhere.' +res=0 +exit code: 0 +stdout: 71 lines, 4051 bytes +stderr: 0 lines, 0 bytes +EOT + +rt -m -- genout $testdir/INPUT + + + @@ -23,6 +23,25 @@ CFLAGS = -ggdb -Wall VPATH=.. rt: rt.o libruncap.a cc $(CFLAGS) -o$@ $^ genout: genout.o + +TESTSUITE =\ + testsuite\ + 00simple.t\ + 01lines.t\ + 02two.t\ + 03longout.t\ + 04stdin.t\ + 05stdin.t\ + 06mon.t + + +DISTDIR = $(TOPDISTDIR)/t +DISTFILES = Makefile rt.c genout.c $(TESTSUITE) INPUT +.PHONY: distdir +distdir: + test -d $(DISTDIR) || mkdir $(DISTDIR) + cp $(DISTFILES) $(DISTDIR) + @@ -97,13 +97,13 @@ nl(struct runcap *rc, int stream) printf("%s listing:\n", what); runcap_rewind(rc, stream); n = 1; while ((res = runcap_getline(rc, stream, &buf, &size)) > 0) { buf[res-1] = 0; - printf("% *d: %s\n", width, n, buf); + printf("% *zd: %s\n", width, n, buf); n++; } if (res) error("error getting lines: %s", strerror(errno)); printf("%s listing ends\n", what); } |