/[ascend]/trunk/test/redirectStdStreams.h
ViewVC logotype

Contents of /trunk/test/redirectStdStreams.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 59 - (show annotations) (download) (as text)
Sun Oct 30 01:38:20 2005 UTC (18 years, 1 month ago) by jds
File MIME type: text/x-chdr
File size: 2478 byte(s)
- prototype unit test suite based on CUnit added.
- unit tests for base/generic/general and base/generic/utilites added.
- 2nd manual rework of doxygen documentation in general and utilities.
- bug fixes (mostly general & utilities) found during test development.
- added asc_assert prototype to redirect failures to Asc_Panic() and enable decoupling assertions from NDEBUG.
- some modifications of interface & implementation to facilitate testing.
- utilities/ascPrint & utilities/ascMalloc functions now always included in base libs to minimize recompilation when an interface chooses different options.
1 /*
2 * Standard stream redirection for ASCEND unit tests
3 *
4 * Copyright (C) 2005 Jerry St.Clair
5 *
6 * This file is part of the Ascend Environment.
7 *
8 * The Ascend Environment is free software; you can redistribute it
9 * and/or modify it under the terms of the GNU General Public License as
10 * published by the Free Software Foundation; either version 2 of the
11 * License, or (at your option) any later version.
12 *
13 * The Ascend Environment is distributed in hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with the program; if not, write to the Free Software Foundation,
20 * Inc., 675 Mass Ave, Cambridge, MA 02139 USA. Check the file named
21 * COPYING.
22 */
23
24 /** @file
25 * Centralized redirection of standard streams to file.
26 * Many ASCEND routines print messages. In a testing context, it
27 * is usually preferable to have output redirected to a file. This
28 * module provides a centralized location for this code (which may
29 * end up somewhat platform-dependent).
30 * <pre>
31 * Requires: #include <stdio.h>
32 * #include "utilities/ascConfig.h"
33 *
34 */
35
36 #ifndef REDIRECTSTDSTREAMS_H_SEEN
37 #define REDIRECTSTDSTREAMS_H_SEEN
38
39 /**
40 * Redirects stderr to the specified file.
41 * Returns a pointer to the new stream. If stderr was already being
42 * redirected to a file, the previous file is closed before the new
43 * redirection is set up.
44 */
45 FILE *redirect_stderr(CONST char *filename);
46
47 /**
48 * Restores stderr to the console.
49 * This function closes the redirection file (if any) and
50 * restores stderr to console output. It returns a pointer
51 * to the new stderr stream.
52
53 */
54 FILE *reset_stderr(void);
55
56 /**
57 * Redirects stdin to the specified file.
58 * Returns a pointer to the new stream. If stdin was already being
59 * redirected to a file, the previous file is closed before the new
60 * redirection is set up.
61 */
62 FILE *redirect_stdin(CONST char *filename);
63
64 /**
65 * Restores stdin to the console.
66 * This function closes the redirection file (if any) and
67 * restores stdin to console output. It returns a pointer
68 * to the new stdin stream.
69 */
70 FILE *reset_stdin(void);
71
72 #endif /* REDIRECTSTDSTREAMS_H_SEEN */

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22