X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=tests%2Ftest-pipe-filter-ii1.c;h=3d3bbd51060099d5bd4ac175b9cd96f13d01de8c;hb=8dccbc62431b05789d06d48ebf83b68180c7ab58;hp=a782afc42102727168da0268abd747bdff34d4f6;hpb=948b2bc1363ece53b0a9df2742ddd03d37308f69;p=gnulib.git diff --git a/tests/test-pipe-filter-ii1.c b/tests/test-pipe-filter-ii1.c index a782afc42..3d3bbd510 100644 --- a/tests/test-pipe-filter-ii1.c +++ b/tests/test-pipe-filter-ii1.c @@ -1,5 +1,5 @@ /* Test of filtering of data through a subprocess. - Copyright (C) 2009 Free Software Foundation, Inc. + Copyright (C) 2009-2011 Free Software Foundation, Inc. Written by Bruno Haible , 2009. This program is free software: you can redistribute it and/or modify @@ -19,29 +19,15 @@ #include "pipe-filter.h" -#include -#include - #include "binary-io.h" #include "c-ctype.h" #include "read-file.h" #include "progname.h" - -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) +#include "macros.h" -/* Pipe a text file through 'tr a-z A-Z', which converts ASCII characters from - lower case to upper case. */ +/* Pipe a text file through 'tr "[a-z]" "[A-Z]"', which converts ASCII + characters from lower case to upper case. */ struct locals { @@ -92,12 +78,12 @@ done_read (void *data_read, size_t num_bytes_read, void *private_data) { /* Handle conversion NL -> CRLF possibly done by the child process. */ if (!(O_BINARY && *q == '\r')) - { - char orig = *p; - char expected = c_toupper (orig); - ASSERT (*q == expected); - p++; - } + { + char orig = *p; + char expected = c_toupper (orig); + ASSERT (*q == expected); + p++; + } } l->nread = p - l->input; } @@ -105,16 +91,19 @@ done_read (void *data_read, size_t num_bytes_read, void *private_data) int main (int argc, char *argv[]) { + const char *tr_program; const char *input_filename; size_t input_size; char *input; set_program_name (argv[0]); - ASSERT (argc == 2); + ASSERT (argc == 3); + + tr_program = argv[1]; /* Read some text from a file. */ - input_filename = argv[1]; + input_filename = argv[2]; input = read_binary_file (input_filename, &input_size); ASSERT (input != NULL); @@ -129,15 +118,15 @@ main (int argc, char *argv[]) l.nwritten = 0; l.nread = 0; - argv[0] = "tr"; - argv[1] = "a-z"; - argv[2] = "A-Z"; + argv[0] = tr_program; + argv[1] = "[a-z]"; + argv[2] = "[A-Z]"; argv[3] = NULL; - result = pipe_filter_ii_execute ("tr", "tr", argv, false, true, - prepare_write, done_write, - prepare_read, done_read, - &l); + result = pipe_filter_ii_execute ("tr", tr_program, argv, false, true, + prepare_write, done_write, + prepare_read, done_read, + &l); ASSERT (result == 0); ASSERT (l.nwritten == input_size); ASSERT (l.nread == input_size);