#include "postgres_fe.h"
#include <ctype.h>
#include <sys/resource.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/wait.h>
#include <signal.h>
#include <unistd.h>
#include "common/logging.h"
#include "common/restricted_token.h"
#include "common/username.h"
#include "getopt_long.h"
#include "lib/stringinfo.h"
#include "libpq-fe.h"
#include "libpq/pqcomm.h"
#include "pg_config_paths.h"
#include "pg_regress.h"
#include "portability/instr_time.h"
Go to the source code of this file.
Definition at line 167 of file pg_regress.c.
Definition at line 166 of file pg_regress.c.
Definition at line 164 of file pg_regress.c.
Definition at line 162 of file pg_regress.c.
Definition at line 163 of file pg_regress.c.
Definition at line 165 of file pg_regress.c.
Definition at line 161 of file pg_regress.c.
Definition at line 1191 of file pg_regress.c.
Definition at line 76 of file pg_regress.c.
Definition at line 82 of file pg_regress.c.
Enumerator | |
---|---|
DIAG | |
BAIL | |
NOTE | |
NOTE_DETAIL | |
NOTE_END | |
TEST_STATUS | |
PLAN | |
NONE |
Definition at line 84 of file pg_regress.c.
Definition at line 197 of file pg_regress.c.
References _stringlist::next, pg_malloc(), pg_strdup(), _stringlist::str, and str.
Referenced by regression_main(), and split_to_stringlist().
Definition at line 255 of file pg_regress.c.
References BAIL, and emit_tap_output_v().
Referenced by ProcessConfigFileInternal().
Definition at line 1960 of file pg_regress.c.
References buf, dbname, encoding, loadextension, _stringlist::next, nolocale, psql_add_command(), psql_command, psql_end_command(), psql_start_command(), and _stringlist::str.
Referenced by regression_main().
Definition at line 2005 of file pg_regress.c.
References buf, _stringlist::next, psql_add_command(), psql_end_command(), psql_start_command(), and _stringlist::str.
Referenced by regression_main().
Definition at line 1318 of file pg_regress.c.
References S_ISDIR, stat::st_mode, and stat.
Referenced by open_result_files(), and regression_main().
Definition at line 1949 of file pg_regress.c.
References buf, dbname, psql_add_command(), psql_end_command(), and psql_start_command().
Referenced by regression_main().
Definition at line 1994 of file pg_regress.c.
References buf, psql_add_command(), psql_end_command(), and psql_start_command().
Referenced by regression_main().
Definition at line 331 of file pg_regress.c.
References emit_tap_output_v(), and type.
Referenced by test_status_print().
Definition at line 341 of file pg_regress.c.
References BAIL, DIAG, fprintf, in_note, logfile, NOTE, NOTE_DETAIL, NOTE_END, generate_unaccent_rules::stdout, type, and vfprintf.
Referenced by bail_out(), and emit_tap_output().
Definition at line 1307 of file pg_regress.c.
Referenced by isolation_start_test(), psql_start_test(), and results_differ().
Definition at line 1286 of file pg_regress.c.
References diag.
Referenced by results_differ().
Definition at line 1266 of file pg_regress.c.
References diag.
Referenced by regression_main(), and run_diff().
Definition at line 218 of file pg_regress.c.
References free, and free_stringlist().
Referenced by free_stringlist(), regression_main(), and run_schedule().
Definition at line 1341 of file pg_regress.c.
References free, i, malloc, and snprintf.
Referenced by results_differ().
Definition at line 694 of file pg_regress.c.
References _resultmap::next, _resultmap::resultfile, resultmap, _resultmap::test, and _resultmap::type.
Referenced by results_differ().
Definition at line 2019 of file pg_regress.c.
References _, printf, and progname.
Referenced by regression_main().
Definition at line 723 of file pg_regress.c.
References DEFAULT_PGSOCKET_DIR, dlpath, encoding, free, hostname, inputdir, load_resultmap(), make_temp_sockdir(), nolocale, note, outputdir, pghost, pgport, port, psprintf(), setenv, snprintf, sockdir, temp_instance, unsetenv, and user.
Referenced by regression_main().
Definition at line 620 of file pg_regress.c.
References bail, buf, host_platform, i, inputdir, MAXPGPATH, _resultmap::next, pg_malloc(), pg_strdup(), _resultmap::resultfile, resultmap, snprintf, string_matches_pattern(), _resultmap::test, and _resultmap::type.
Referenced by initialize_environment().
Definition at line 1620 of file pg_regress.c.
References diag, pg_strsignal(), WEXITSTATUS, WIFEXITED, WIFSIGNALED, and WTERMSIG.
Referenced by run_schedule(), and run_single_test().
Definition at line 1331 of file pg_regress.c.
References bail, mkdir, S_IRWXG, S_IRWXO, and S_IRWXU.
Referenced by open_result_files(), and regression_main().
Definition at line 501 of file pg_regress.c.
References bail, mkdtemp(), port, pqsignal, psprintf(), remove_temp(), SIGHUP, signal_remove_temp(), SIGPIPE, snprintf, socklock, sockself, temp_sockdir, and UNIXSOCK_PATH.
Referenced by initialize_environment().
Definition at line 1916 of file pg_regress.c.
References bail, difffilename, directory_exists(), logfile, logfilename, make_directory(), MAXPGPATH, outputdir, pg_strdup(), and snprintf.
Referenced by regression_main().
Definition at line 1132 of file pg_regress.c.
References appendStringInfoChar(), appendStringInfoString(), appendStringInfoVA(), generate_unaccent_rules::args, buf, StringInfoData::data, enlargeStringInfo(), initStringInfo(), and pfree().
Referenced by create_database(), create_role(), drop_database_if_exists(), and drop_role_if_exists().
Definition at line 1169 of file pg_regress.c.
References appendStringInfo(), bail, buf, and destroyStringInfo().
Referenced by create_database(), create_role(), drop_database_if_exists(), and drop_role_if_exists().
Definition at line 1120 of file pg_regress.c.
References appendStringInfo(), bindir, buf, and makeStringInfo().
Referenced by create_database(), create_role(), drop_database_if_exists(), and drop_role_if_exists().
Definition at line 2069 of file pg_regress.c.
References add_stringlist_item(), appendStringInfo(), appendStringInfoString(), bail, bindir, buf, config_auth_datadir, create_database(), create_role(), StringInfoData::data, dblist, debug, diag, difffilename, directory_exists(), dlpath, drop_database_if_exists(), drop_role_if_exists(), encoding, expecteddir, extra_tests, extraroles, fail_count, file_size(), free_stringlist(), get_progname(), get_restricted_token(), getopt_long(), help(), hostname, i, initialize_environment(), initStringInfo(), inputdir, INVALID_PID, keywords, kill, launcher, loadextension, logfile, logfilename, make_absolute_path(), make_directory(), max_concurrent_tests, max_connections, MAXPGPATH, _stringlist::next, no_argument, nolocale, note, open_result_files(), optarg, optind, outputdir, pfree(), pg_log_error_hint, pg_logging_init(), pg_strdup(), PG_TEXTDOMAIN, pg_usleep(), plan, port, port_specified_by_user, portstr, postmaster_pid, postmaster_running, PQPING_NO_ATTEMPT, PQPING_OK, PQpingParams(), pretty_diff_opts, progname, required_argument, rmtree(), run_schedule(), run_single_test(), schedulelist, set_pglocale_pgservice(), setenv, SIGKILL, snprintf, sockdir, spawn_process(), split_to_stringlist(), sprintf, stop_postmaster(), _stringlist::str, success_count, temp_configs, temp_instance, true, ULONGPID, unlimit_core_size(), use_existing, user, values, wait_seconds, and WAIT_TICKS_PER_SECOND.
Referenced by main().
Definition at line 468 of file pg_regress.c.
References Assert(), socklock, sockself, and temp_sockdir.
Referenced by make_temp_sockdir(), and signal_remove_temp().
Definition at line 1407 of file pg_regress.c.
References bail, basic_diff_opts, difffilename, file_exists(), file_line_count(), fprintf, free, get_alternative_expectfile(), get_expectfile(), i, MAXPGPATH, pretty_diff_opts, run_diff(), snprintf, and strlcpy().
Referenced by run_schedule(), and run_single_test().
Definition at line 1375 of file pg_regress.c.
References bail, file_size(), filename, WEXITSTATUS, and WIFEXITED.
Referenced by results_differ().
Definition at line 1643 of file pg_regress.c.
References bail, diag, free_stringlist(), i, INSTR_TIME_GET_MILLISEC, INSTR_TIME_SET_CURRENT, INSTR_TIME_SUBTRACT, log_child_failure(), max_concurrent_tests, max_connections, MAX_PARALLEL_TESTS, _stringlist::next, note_detail, note_end, pg_free(), pg_strdup(), PID_TYPE, results_differ(), _stringlist::str, test(), test_status_failed(), test_status_ok(), and wait_for_tests().
Referenced by regression_main().
Definition at line 1849 of file pg_regress.c.
References diag, INSTR_TIME_GET_MILLISEC, INSTR_TIME_SET_CURRENT, INSTR_TIME_SUBTRACT, log_child_failure(), _stringlist::next, PID_TYPE, results_differ(), _stringlist::str, test(), test_status_failed(), test_status_ok(), and wait_for_tests().
Referenced by regression_main().
Definition at line 480 of file pg_regress.c.
References pqsignal, and remove_temp().
Referenced by make_temp_sockdir().
Definition at line 1204 of file pg_regress.c.
References bail, bail_noatexit, psprintf(), and shellprog.
Referenced by ecpg_start_test(), isolation_start_test(), psql_start_test(), and regression_main().
Definition at line 233 of file pg_regress.c.
References add_stringlist_item(), free, pg_strdup(), strsep(), and token.
Referenced by regression_main().
Definition at line 433 of file pg_regress.c.
References _, bail_noatexit, bindir, buf, MAXPGPATH, postmaster_running, snprintf, and temp_instance.
Referenced by regression_main().
Definition at line 546 of file pg_regress.c.
References str, and string_matches_pattern().
Referenced by load_resultmap(), and string_matches_pattern().
Definition at line 311 of file pg_regress.c.
References appendStringInfo(), appendStringInfoChar(), fail_count, failed_tests, makeStringInfo(), and test_status_print().
Referenced by run_schedule(), and run_single_test().
Definition at line 303 of file pg_regress.c.
References success_count, and test_status_print().
Referenced by run_schedule(), and run_single_test().
Definition at line 280 of file pg_regress.c.
References emit_tap_output(), fail_count, success_count, TEST_STATUS, and TESTNAME_WIDTH.
Referenced by test_status_failed(), and test_status_ok().
Definition at line 174 of file pg_regress.c.
References diag.
Referenced by regression_main().
Definition at line 1553 of file pg_regress.c.
References bail, free, i, INSTR_TIME_SET_CURRENT, INVALID_PID, note_detail, pg_malloc(), and PID_TYPE.
Referenced by run_schedule(), and run_single_test().
Definition at line 64 of file pg_regress.c.
Referenced by results_differ().
Definition at line 102 of file pg_regress.c.
Referenced by psql_start_command(), psql_start_test(), regression_main(), and stop_postmaster().
Definition at line 121 of file pg_regress.c.
Referenced by regression_main().
Definition at line 97 of file pg_regress.c.
Referenced by do_start_worker(), get_database_list(), isolation_init(), isolation_start_test(), psql_init(), psql_start_test(), rebuild_database_list(), and regression_main().
Definition at line 98 of file pg_regress.c.
Referenced by regression_main().
Definition at line 127 of file pg_regress.c.
Referenced by open_result_files(), regression_main(), and results_differ().
Definition at line 118 of file pg_regress.c.
Referenced by initialize_environment(), and regression_main().
Definition at line 107 of file pg_regress.c.
Referenced by create_database(), initialize_environment(), and regression_main().
Definition at line 101 of file pg_regress.c.
Referenced by ecpg_start_test(), psql_start_test(), and regression_main().
Definition at line 109 of file pg_regress.c.
Referenced by regression_main().
Definition at line 120 of file pg_regress.c.
Referenced by regression_main().
Definition at line 141 of file pg_regress.c.
Referenced by regression_main(), test_status_failed(), and test_status_print().
Definition at line 132 of file pg_regress.c.
Referenced by test_status_failed().
Definition at line 52 of file pg_regress.c.
Referenced by load_resultmap().
Definition at line 114 of file pg_regress.c.
Referenced by check_hostname(), initialize_environment(), passwordFromFile(), pg_getaddrinfo_all(), and regression_main().
Definition at line 133 of file pg_regress.c.
Referenced by emit_tap_output_v().
Definition at line 99 of file pg_regress.c.
Referenced by ecpg_start_test(), initialize_environment(), isolation_start_test(), load_resultmap(), psql_start_test(), and regression_main().
Definition at line 103 of file pg_regress.c.
Referenced by isolation_start_test(), psql_start_test(), and regression_main().
Definition at line 104 of file pg_regress.c.
Referenced by create_database(), and regression_main().
Definition at line 126 of file pg_regress.c.
Referenced by doLog(), emit_tap_output_v(), open_result_files(), regression_main(), and write_syslogger_file().
Definition at line 125 of file pg_regress.c.
Referenced by open_result_files(), and regression_main().
Definition at line 106 of file pg_regress.c.
Referenced by regression_main(), and run_schedule().
Definition at line 105 of file pg_regress.c.
Referenced by regression_main(), and run_schedule().
Definition at line 112 of file pg_regress.c.
Referenced by create_database(), initialize_environment(), and regression_main().
Definition at line 100 of file pg_regress.c.
Referenced by ecpg_start_test(), initialize_environment(), isolation_start_test(), open_result_files(), psql_start_test(), and regression_main().
Definition at line 115 of file pg_regress.c.
Referenced by auth_delay_checks(), auth_failed(), auth_peer(), BackendInitialize(), be_gssapi_get_auth(), be_gssapi_get_delegation(), be_gssapi_get_enc(), be_gssapi_get_princ(), be_gssapi_read(), be_gssapi_write(), be_tls_close(), be_tls_get_certificate_hash(), be_tls_get_cipher(), be_tls_get_cipher_bits(), be_tls_get_peer_issuer_name(), be_tls_get_peer_serial(), be_tls_get_peer_subject_name(), be_tls_get_version(), be_tls_open_server(), be_tls_read(), be_tls_write(), check_hba(), check_hostname(), CheckMD5Auth(), CheckPasswordAuth(), CheckPWChallengeAuth(), CheckRADIUSAuth(), CheckSASLAuth(), ClientAuthentication(), conninfo_uri_parse_options(), do_connect(), ECPGconnect(), hba_getauthmethod(), ident_inet(), inet_client_addr(), inet_client_port(), inet_server_addr(), inet_server_port(), initialize_environment(), log_disconnections(), main(), make_temp_sockdir(), oauth_init(), passwordFromFile(), PerformAuthentication(), PerformRadiusTransaction(), port_bio_ctrl(), port_bio_read(), pq_getkeepalivescount(), pq_getkeepalivesidle(), pq_getkeepalivesinterval(), pq_gettcpusertimeout(), pq_init(), pq_setkeepalivescount(), pq_setkeepalivesidle(), pq_setkeepalivesinterval(), pq_settcpusertimeout(), process_startup_options(), ProcessSSLStartup(), ProcessStartupPacket(), read_or_wait(), regression_main(), scram_get_mechanisms(), scram_init(), secure_close(), secure_open_gssapi(), secure_open_server(), secure_raw_read(), secure_raw_write(), secure_read(), secure_write(), sepgsql_client_auth(), set_authn_id(), ssl_set_port_bio(), and validate().
Definition at line 117 of file pg_regress.c.
Referenced by regression_main().
Definition at line 116 of file pg_regress.c.
Referenced by PerformRadiusTransaction(), PQconnectPoll(), and regression_main().
Definition at line 137 of file pg_regress.c.
Referenced by regression_main().
Definition at line 138 of file pg_regress.c.
Referenced by regression_main(), and stop_postmaster().
Definition at line 65 of file pg_regress.c.
Referenced by regression_main(), and results_differ().
Definition at line 124 of file pg_regress.c.
Referenced by help(), and regression_main().
Definition at line 135 of file pg_regress.c.
Referenced by get_expectfile(), and load_resultmap().
Definition at line 108 of file pg_regress.c.
Referenced by regression_main().
Definition at line 55 of file pg_regress.c.
Referenced by spawn_process().
Definition at line 128 of file pg_regress.c.
Referenced by initialize_environment(), and regression_main().
Definition at line 131 of file pg_regress.c.
Referenced by make_temp_sockdir(), and remove_temp().
Definition at line 130 of file pg_regress.c.
Referenced by make_temp_sockdir(), and remove_temp().
Definition at line 140 of file pg_regress.c.
Referenced by regression_main(), test_status_ok(), and test_status_print().
Definition at line 111 of file pg_regress.c.
Referenced by regression_main().
Definition at line 110 of file pg_regress.c.
Referenced by initialize_environment(), regression_main(), and stop_postmaster().
Definition at line 129 of file pg_regress.c.
Referenced by make_temp_sockdir(), and remove_temp().
Definition at line 113 of file pg_regress.c.
Referenced by regression_main().
Definition at line 119 of file pg_regress.c.
Referenced by _becomeUser(), _doSetSessionAuth(), check_conn_params(), connect_pg_server(), conninfo_uri_parse_options(), create_foreign_modify(), do_connect(), ECPGconnect(), exec_command_password(), GetConnection(), initialize_environment(), LockGXact(), main(), make_new_connection(), pgfdw_security_check(), postgresAcquireSampleRowsFunc(), postgresAnalyzeForeignTable(), postgresBeginDirectModify(), postgresBeginForeignScan(), postgresExecForeignTruncate(), postgresGetAnalyzeInfoForForeignTable(), PQchangePassword(), PQencryptPassword(), PQencryptPasswordConn(), regression_main(), ShowUsage(), UserMappingPasswordRequired(), and UseScramPassthrough().