Exemple #1
0
wi_size_t wi_terminal_lookup_size(wi_terminal_t *terminal) {
	wi_string_t			*width, *height;
	struct winsize		win;
	
	if(ioctl(STDOUT_FILENO, TIOCGWINSZ, &win) >= 0)
		return wi_make_size(win.ws_col, win.ws_row);

	width	= wi_getenv(WI_STR("COLUMNS"));
	height	= wi_getenv(WI_STR("LINES"));
	
	if(width && height)
		return wi_make_size(wi_string_integer(width), wi_string_integer(height));
	
	return wi_make_size(0, 0);
}
void wi_test_system(void) {
    wi_array_t  *backtrace;
    
    WI_TEST_ASSERT_TRUE(wi_user_id() >= 0, "");
    WI_TEST_ASSERT_TRUE(wi_string_length(wi_user_name()) > 0, "");
    WI_TEST_ASSERT_TRUE(wi_string_length(wi_user_home()) > 0, "");
    WI_TEST_ASSERT_TRUE(wi_group_id() >= 0, "");
    WI_TEST_ASSERT_TRUE(wi_string_length(wi_group_name()) > 0, "");

    WI_TEST_ASSERT_TRUE(wi_page_size() > 0, "");
    
    backtrace = wi_backtrace();
    
    if(backtrace) {
        WI_TEST_ASSERT_TRUE(wi_array_count(backtrace) > 0, "");
        WI_TEST_ASSERT_NOT_EQUALS(wi_string_index_of_string(wi_array_components_joined_by_string(backtrace, WI_STR("\n")),
                                                            WI_STR("test"), 0),
                                  WI_NOT_FOUND, "");
    }
    
    WI_TEST_ASSERT_TRUE(wi_string_length(wi_getenv(WI_STR("HOME"))) > 0, "");
}