diff options
Diffstat (limited to 'lesstest/lesstest.h')
-rw-r--r-- | lesstest/lesstest.h | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/lesstest/lesstest.h b/lesstest/lesstest.h new file mode 100644 index 000000000000..93bbed33b829 --- /dev/null +++ b/lesstest/lesstest.h @@ -0,0 +1,84 @@ +#include <stdio.h> +#include <unistd.h> +#include <string.h> +#include <stdlib.h> +#include <errno.h> +#include "lt_types.h" +#include "wchar.h" + +#define ENVBUF_SIZE 4096 +typedef struct EnvBuf { + char** env_list; + char* env_estr; + char* env_buf[ENVBUF_SIZE/sizeof(char*)]; +} EnvBuf; + +typedef struct TestSetup { + char* setup_name; + char* textfile; + char** argv; + int argc; + EnvBuf env; +} TestSetup; + +typedef struct LessPipeline { + int less_in; + int screen_out; + int screen_width; + int screen_height; + pid_t less_pid; + pid_t screen_pid; + const char* tempfile; + int less_in_pipe[2]; + int screen_in_pipe[2]; + int screen_out_pipe[2]; +} LessPipeline; + +typedef struct TermInfo { + char backspace_key; + char* enter_underline; + char* exit_underline; + char* enter_bold; + char* exit_bold; + char* enter_blink; + char* exit_blink; + char* enter_standout; + char* exit_standout; + char* clear_screen; + char* cursor_move; + char* key_right; + char* key_left; + char* key_up; + char* key_down; + char* key_home; + char* key_end; + char* enter_keypad; + char* exit_keypad; + char* init_term; + char* deinit_term; +} TermInfo; + +int log_open(char const* logfile); +void log_close(void); +int log_file_header(void); +int log_test_header(char* const* argv, int argc, const char* textfile); +int log_test_footer(void); +int log_env(const char* name, int namelen, const char* value); +int log_tty_char(wchar ch); +int log_screen(byte const* img, int len); +LessPipeline* create_less_pipeline(char* const* argv, int argc, char* const* envp); +void destroy_less_pipeline(LessPipeline* pipeline); +void print_strings(const char* title, char* const* strings); +void free_test_setup(TestSetup* setup); +TestSetup* read_test_setup(FILE* fd, char const* less); +int read_zline(FILE* fd, char* line, int line_len); +void raw_mode(int tty, int on); +int setup_term(void); +void display_screen(const byte* img, int imglen, int screen_width, int screen_height); +void display_screen_debug(const byte* img, int imglen, int screen_width, int screen_height); +const char* get_envp(char* const* envp, const char* name); +int run_interactive(char* const* argv, int argc, char* const* envp); +int run_testfile(const char* testfile, const char* less); +void env_init(EnvBuf* env); +void env_addpair(EnvBuf* env, const char* name, const char* value); +char* const* less_envp(char* const* envp, int interactive); |