git.fiddlerwoaroof.com
test_support.h
1c7f8bf0
 /* Include this in a module that will be under test coverage
  *
  */
 
 #ifndef _TEST_SUPPORT_H
 #define _TEST_SUPPORT_H
8ab94c71
 #include <cstdlib>
 #include <cstdio>
69be5e4e
 #include <pwd.h>
 #include <sys/stat.h>
cb403154
 // SYSLOG
b017a4d2
 void fake_openlog (const char *ident, int logopt, int facility);
 void fake_syslog (int priority, const char *format, ...);
 void fake_closelog (void);
1c7f8bf0
 
cb403154
 // PWD
b017a4d2
 int fake_getpwnam_r (const char *nam, struct passwd *pwd, char *buffer,
                      size_t bufsize, struct passwd **result);
cb403154
 
69be5e4e
 // SYS_STAT
b017a4d2
 int fake_stat (const char *path, struct stat *stat);
69be5e4e
 
 // STDIO
b017a4d2
 FILE *fake_fopen (const char *path, const char *mode);
 char *fake_fgets (char *buf, int n, FILE *fp);
 int fake_fclose (FILE *fp);
69be5e4e
 
1c7f8bf0
 #ifdef UNIT_TEST
cb403154
 // SYSLOG
1c7f8bf0
 #define openlog(IDENT, LOGOPT, FACILITY) fake_openlog(IDENT, LOGOPT, FACILITY)
 #define syslog(PRIORITY, ...) fake_syslog(PRIORITY, __VA_ARGS__)
 #define closelog() fake_closelog()
cb403154
 
 // PWD
 #define getpwnam_r(USER, PASSWD, BUFFER, BUFSIZE, PRESULT) fake_getpwnam_r(USER, PASSWD, BUFFER, BUFSIZE, PRESULT)
 
69be5e4e
 // SYS_STAT
 #define stat(PATH, STRUCT) fake_stat(PATH, STRUCT)
 
 // STDIO
 #define fopen(PATH, MODE) fake_fopen(PATH, MODE)
 #define fgets(DEST, DEST_SIZE, FILE_HANDLE) fake_fgets(DEST, DEST_SIZE, FILE_HANDLE)
 #define fclose(FILE_HANDLE) fake_fclose(FILE_HANDLE)
 
1c7f8bf0
 #endif
 
 #endif