go/src/net
Emmanuel T Odeke b690d7e513 net/http/httputil: make TestDumpRequest idempotent
TestDumpRequest was failing with -count=2 or more
because for test cases that involved mustReadRequest,
the body was created as a *bufio.Reader. DumpRequest
and DumpRequestOut would then read the body until EOF
and would close it after use.
However, on re-runs of the test, the body would
be terminally exhausted and result in an unexpected
error "http: invalid Read on closed Body".

The update to the test cases adds an extra field "GetReq"
which allows us to construct requests per run of the tests
and hence make the test indefinitely re-runnable/idempotent.
"Req" or "GetReq" are mutually exclusive: either one of them
can be set or nil, but not both.

Fixes #26858

Change-Id: Ice3083dac1aa3249da4afc7075cd984eb159530d
Reviewed-on: https://go-review.googlesource.com/c/153377
Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-02-13 16:58:53 +00:00
..
http net/http/httputil: make TestDumpRequest idempotent 2019-02-13 16:58:53 +00:00
internal/socktest net: add AIX operating system 2018-10-10 17:20:53 +00:00
mail all: use strings.ReplaceAll and bytes.ReplaceAll where applicable 2018-09-26 22:14:25 +00:00
rpc net/rpc: clarify requirements for connections and codecs 2018-07-24 09:23:08 +00:00
smtp crypto/tls: advertise and accept rsa_pss_rsae signature algorithms 2018-11-02 22:05:52 +00:00
testdata compress: reduce copies of new text for compression testing 2018-09-24 18:26:02 +00:00
textproto net/textproto: do not buffer a line if we know the next line is empty 2018-11-01 15:43:45 +00:00
url net/url, net/http: relax CTL-in-URL validation to only ASCII CTLs 2019-01-29 20:42:54 +00:00
addrselect.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
addrselect_test.go
cgo_android.go
cgo_bsd.go
cgo_linux.go
cgo_netbsd.go
cgo_openbsd.go
cgo_resnew.go
cgo_resold.go
cgo_socknew.go
cgo_sockold.go
cgo_solaris.go
cgo_stub.go net: make cgo resolver work more accurately with network parameter 2018-10-25 03:14:03 +00:00
cgo_unix.go net: make cgo resolver work more accurately with network parameter 2018-10-25 03:14:03 +00:00
cgo_unix_test.go net: make cgo resolver work more accurately with network parameter 2018-10-25 03:14:03 +00:00
cgo_windows.go
conf.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
conf_netcgo.go
conf_test.go all: update comment URLs from HTTP to HTTPS, where possible 2018-06-01 21:52:00 +00:00
conn_test.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
dial.go net: enable TCP keepalives by default 2018-12-03 16:36:46 +00:00
dial_test.go net: enable TCP keepalives by default 2018-12-03 16:36:46 +00:00
dial_unix_test.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
dnsclient.go vendor/golang_org/x: move to internal/x 2018-11-29 15:42:16 +00:00
dnsclient_test.go net: use golang.org/x/net/dns/dnsmessage for DNS resolution 2018-03-15 04:18:11 +00:00
dnsclient_unix.go vendor/golang_org/x: move to internal/x 2018-11-29 15:42:16 +00:00
dnsclient_unix_test.go vendor/golang_org/x: move to internal/x 2018-11-29 15:42:16 +00:00
dnsconfig_unix.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
dnsconfig_unix_test.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
dnsname_test.go net: don't reject domain names with only numbers and hyphens 2018-09-24 17:56:44 +00:00
error_nacl.go net, syscall: make ECONNRESET/ECONNABORTED only temporary for Accept 2018-05-01 14:50:33 +00:00
error_plan9.go net, syscall: make ECONNRESET/ECONNABORTED only temporary for Accept 2018-05-01 14:50:33 +00:00
error_plan9_test.go
error_posix.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
error_posix_test.go
error_test.go net: make cgo resolver work more accurately with network parameter 2018-10-25 03:14:03 +00:00
error_unix.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
error_unix_test.go
error_windows.go net, syscall: make ECONNRESET/ECONNABORTED only temporary for Accept 2018-05-01 14:50:33 +00:00
error_windows_test.go
example_test.go net: improve ExampleUDPConn_WriteTo docs 2018-06-26 21:30:43 +00:00
external_test.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
fd_plan9.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
fd_unix.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
fd_windows.go net: improve ExampleUDPConn_WriteTo docs 2018-06-26 21:30:43 +00:00
file.go net: update docs for unimplemented methods and functions 2018-08-03 15:08:42 +00:00
file_plan9.go
file_stub.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
file_test.go os, net: avoid races between dup, set-blocking-mode, and closing 2018-06-22 14:27:22 +00:00
file_unix.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
file_windows.go
hook.go net: enable TCP keepalives by default 2018-12-03 16:36:46 +00:00
hook_plan9.go
hook_unix.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
hook_windows.go net: use WSASocket instead of socket call 2017-11-07 22:04:15 +00:00
hosts.go net: use internal/bytealg insetad of linkname tricks 2018-08-21 22:09:23 +00:00
hosts_test.go
interface.go net: update BUG sections for go1.12 2019-01-10 04:47:00 +00:00
interface_aix.go internal/syscall/unix, net: improve interface_aix.go 2018-10-23 02:38:52 +00:00
interface_bsd.go vendor/golang_org/x: move to internal/x 2018-11-29 15:42:16 +00:00
interface_bsd_test.go net: update zoneCache on cache misses to cover appearing interfaces 2018-11-06 00:05:32 +00:00
interface_bsdvar.go vendor/golang_org/x: move to internal/x 2018-11-29 15:42:16 +00:00
interface_darwin.go vendor/golang_org/x: move to internal/x 2018-11-29 15:42:16 +00:00
interface_freebsd.go vendor/golang_org/x: move to internal/x 2018-11-29 15:42:16 +00:00
interface_linux.go
interface_linux_test.go net: update zoneCache on cache misses to cover appearing interfaces 2018-11-06 00:05:32 +00:00
interface_plan9.go
interface_solaris.go vendor/golang_org/x: move to internal/x 2018-11-29 15:42:16 +00:00
interface_stub.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
interface_test.go net: fix TestInterfaceMulticastAddrs for AIX 2018-10-23 14:48:21 +00:00
interface_unix_test.go net: update zoneCache on cache misses to cover appearing interfaces 2018-11-06 00:05:32 +00:00
interface_windows.go doc: update the minimum support Windows version 2018-07-11 22:05:38 +00:00
ip.go net: use internal/bytealg insetad of linkname tricks 2018-08-21 22:09:23 +00:00
ip_test.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
iprawsock.go net: update docs for unimplemented methods and functions 2018-08-03 15:08:42 +00:00
iprawsock_plan9.go net: move dial and listen functions under sysDialer, sysListener 2018-05-29 23:57:04 +00:00
iprawsock_posix.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
iprawsock_test.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
ipsock.go net: make cgo resolver work more accurately with network parameter 2018-10-25 03:14:03 +00:00
ipsock_plan9.go net: use internal/bytealg insetad of linkname tricks 2018-08-21 22:09:23 +00:00
ipsock_posix.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
ipsock_test.go
listen_test.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
lookup.go net: preserve unexpired context values for LookupIPAddr 2018-11-12 23:34:54 +00:00
lookup_fake.go net: make cgo resolver work more accurately with network parameter 2018-10-25 03:14:03 +00:00
lookup_plan9.go net: make cgo resolver work more accurately with network parameter 2018-10-25 03:14:03 +00:00
lookup_test.go net: skip TestLookupGmailTXT on Plan 9 2019-01-14 07:58:44 +00:00
lookup_unix.go vendor/golang_org/x: move to internal/x 2018-11-29 15:42:16 +00:00
lookup_windows.go net: make cgo resolver work more accurately with network parameter 2018-10-25 03:14:03 +00:00
lookup_windows_test.go all: use strings.ReplaceAll and bytes.ReplaceAll where applicable 2018-09-26 22:14:25 +00:00
mac.go
mac_test.go
main_cloexec_test.go net, internal/poll, net/internal/socktest: use SOCK_{CLOEXEC,NONBLOCK} accept4/socket flags on OpenBSD 2018-02-26 16:59:38 +00:00
main_conf_test.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
main_noconf_test.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
main_plan9_test.go
main_posix_test.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
main_test.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
main_unix_test.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
main_windows_test.go net: use WSASocket instead of socket call 2017-11-07 22:04:15 +00:00
mockserver_test.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
net.go net: lazily look up the listenerBacklog value on first use 2018-08-21 04:39:22 +00:00
net_fake.go net: improve ExampleUDPConn_WriteTo docs 2018-06-26 21:30:43 +00:00
net_test.go net: increase TestNotTemporaryRead server sleep 2019-01-16 15:16:12 +00:00
net_windows_test.go all: use strings.ReplaceAll and bytes.ReplaceAll where applicable 2018-09-26 22:14:25 +00:00
netgo_unix_test.go net: make cgo resolver work more accurately with network parameter 2018-10-25 03:14:03 +00:00
nss.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
nss_test.go
packetconn_test.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
parse.go net: use internal/bytealg insetad of linkname tricks 2018-08-21 22:09:23 +00:00
parse_test.go
pipe.go net: return io.ErrClosedPipe when possible from net.Pipe 2017-12-05 18:44:28 +00:00
pipe_test.go vendor/golang_org/x: move to internal/x 2018-11-29 15:42:16 +00:00
platform_test.go all: fix tests for older versions of AIX 7.2 2018-11-02 13:44:27 +00:00
port.go net: fix typo in parsePort documentation 2017-11-21 17:31:56 +00:00
port_test.go
port_unix.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
protoconn_test.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
rawconn.go net: update docs for unimplemented methods and functions 2018-08-03 15:08:42 +00:00
rawconn_stub_test.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
rawconn_test.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
rawconn_unix_test.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
rawconn_windows_test.go net: add ListenConfig, Dialer.Control to permit socket opts before listen/dial 2018-05-30 22:54:22 +00:00
sendfile_linux.go os: don't let sendFile put a pipe into blocking mode 2018-12-28 04:17:55 +00:00
sendfile_stub.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
sendfile_test.go os: don't let sendFile put a pipe into blocking mode 2018-12-28 04:17:55 +00:00
sendfile_unix_alt.go os: don't let sendFile put a pipe into blocking mode 2018-12-28 04:17:55 +00:00
sendfile_windows.go
server_test.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
sock_bsd.go net: fix the kernel state name for TCP listen queue on FreeBSD 2018-02-02 00:04:20 +00:00
sock_cloexec.go net, internal/poll, net/internal/socktest: use SOCK_{CLOEXEC,NONBLOCK} accept4/socket flags on OpenBSD 2018-02-26 16:59:38 +00:00
sock_linux.go
sock_plan9.go
sock_posix.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
sock_stub.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
sock_windows.go net: use WSASocket instead of socket call 2017-11-07 22:04:15 +00:00
sockaddr_posix.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
sockopt_aix.go net: drop confusing comment 2019-01-10 04:47:18 +00:00
sockopt_bsd.go
sockopt_linux.go
sockopt_plan9.go
sockopt_posix.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
sockopt_solaris.go
sockopt_stub.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
sockopt_windows.go
sockoptip_bsdvar.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
sockoptip_linux.go
sockoptip_posix.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
sockoptip_stub.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
sockoptip_windows.go
splice_linux.go net: don't use splice for unix{packet,gram} connections 2018-09-24 17:25:15 +00:00
splice_stub.go net: add support for splice(2) in (*TCPConn).ReadFrom on Linux 2018-04-24 14:14:56 +00:00
splice_test.go net: don't use splice for unix{packet,gram} connections 2018-09-24 17:25:15 +00:00
sys_cloexec.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
tcpsock.go net: update docs for unimplemented methods and functions 2018-08-03 15:08:42 +00:00
tcpsock_plan9.go net: move dial and listen functions under sysDialer, sysListener 2018-05-29 23:57:04 +00:00
tcpsock_posix.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
tcpsock_test.go runtime: don't wake timeproc needlessly 2018-11-02 12:48:03 +00:00
tcpsock_unix_test.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
tcpsockopt_darwin.go net: drop special case for macOS 10.7 and earlier 2018-06-04 18:40:49 +00:00
tcpsockopt_dragonfly.go
tcpsockopt_openbsd.go
tcpsockopt_plan9.go
tcpsockopt_posix.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
tcpsockopt_solaris.go
tcpsockopt_stub.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
tcpsockopt_unix.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
tcpsockopt_windows.go
timeout_test.go net: skip TestVariousDeadlines on Plan 9 2018-12-05 20:32:39 +00:00
udpsock.go net: update docs for unimplemented methods and functions 2018-08-03 15:08:42 +00:00
udpsock_plan9.go net: move dial and listen functions under sysDialer, sysListener 2018-05-29 23:57:04 +00:00
udpsock_plan9_test.go
udpsock_posix.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
udpsock_test.go net: skip TestUDPZeroBytePayload on Darwin 2019-01-03 05:07:58 +00:00
unixsock.go net: update BUG sections for go1.12 2019-01-10 04:47:00 +00:00
unixsock_linux_test.go
unixsock_plan9.go net: move dial and listen functions under sysDialer, sysListener 2018-05-29 23:57:04 +00:00
unixsock_posix.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
unixsock_test.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
unixsock_windows_test.go net: skip TestUnixConnLocalWindows on windows/arm 2018-10-08 04:13:54 +00:00
write_unix_test.go
writev_test.go net: add js/wasm architecture 2018-06-04 16:01:50 +00:00
writev_unix.go