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

Annotation of /trunk/test/redirectStdStreams.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 59 - (hide annotations) (download) (as text)
Sun Oct 30 01:38:20 2005 UTC (17 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 jds 59 /*
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