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
1c7f8bf0
 void fake_openlog(const char *ident, int logopt, int facility);
 void fake_syslog(int priority, const char *format, ...);
 void fake_closelog(void);
 
cb403154
 // PWD
 int fake_getpwnam_r(const char *nam, struct passwd *pwd, char *buffer, size_t bufsize, struct passwd **result);
 
69be5e4e
 // SYS_STAT
 int fake_stat(const char *path, struct stat *stat);
 
 // STDIO
 FILE *fake_fopen(const char *path, const char *mode);
 char *fake_fgets(char *buf, int n, FILE *fp);
 int fake_fclose(FILE *fp);
 
cb403154
 
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