go/src/os
Kir Kolyshkin 0a525a3ed0 [release-branch.go1.22] os: fix Chtimes test flakes
It appears that some builders (notably, linux-arm) have some additional
security software installed, which apparently reads the files created by
tests. As a result, test file atime is changed, making the test fail
like these:

=== RUN   TestChtimesOmit
    ...
    os_test.go:1475: atime mismatch, got: "2024-07-30 18:42:03.450932494 +0000 UTC", want: "2024-07-30 18:42:02.450932494 +0000 UTC"

=== RUN   TestChtimes
    ...
    os_test.go:1539: AccessTime didn't go backwards; was=2024-07-31 20:45:53.390326147 +0000 UTC, after=2024-07-31 20:45:53.394326118 +0000 UTC

According to inode(7), atime is changed when more than 0 bytes are read
from the file. So, one possible solution to these flakes is to make the
test files empty, so no one can read more than 0 bytes from them.

For #68687
For #68663
Fixes #68811

Change-Id: Ib9234567883ef7b16ff8811e3360cd26c2d6bdab
Reviewed-on: https://go-review.googlesource.com/c/go/+/604315
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Kirill Kolyshkin <kolyshkin@gmail.com>
Reviewed-by: Robert Griesemer <gri@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Commit-Queue: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
(cherry picked from commit 84266e1469)
Reviewed-on: https://go-review.googlesource.com/c/go/+/605375
Reviewed-by: Carlos Amedee <carlos@golang.org>
2024-08-14 17:44:11 +00:00
..
exec [release-branch.go1.22] os/exec: only use cachedLookExtensions if Cmd.Path is unmodified 2024-07-10 19:24:54 +00:00
signal os/signal: remove some arbitrary timeouts in tests 2023-11-09 15:34:56 +00:00
testdata
user all: fix Microsoft links 2023-09-12 16:42:41 +00:00
dir.go
dir_darwin.go os: do not skip directory entries with zero inodes on wasip1 2023-07-06 23:23:41 +00:00
dir_plan9.go all: add String for fs.{FileInfo,DirEntry} implementations 2023-05-04 16:27:35 +00:00
dir_unix.go os: do not skip directory entries with zero inodes on wasip1 2023-07-06 23:23:41 +00:00
dir_windows.go os: avoid allocating a string for ReadDir skipped entries on Windows 2023-08-21 08:33:51 +00:00
dirent_aix.go
dirent_dragonfly.go
dirent_freebsd.go
dirent_js.go
dirent_linux.go
dirent_netbsd.go
dirent_openbsd.go
dirent_solaris.go
dirent_wasip1.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
endian_big.go
endian_little.go
env.go
env_test.go os, syscall: update unreachable link about =C: envs 2023-07-04 15:31:54 +00:00
env_unix_test.go
error.go all: remove duplicate word and fix comment 2023-07-13 13:31:04 +00:00
error_errno.go
error_plan9.go
error_posix.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
error_test.go os: remove unnecessary return after t.Fatal 2023-05-19 00:41:52 +00:00
error_unix_test.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
error_windows_test.go
example_test.go os: relax tests and add examples for UserCacheDir and UserConfigDir 2024-01-10 17:35:49 +00:00
exec.go os/exec: document a method to check if a process is alive 2023-06-17 19:02:45 +00:00
exec_plan9.go
exec_posix.go internal/itoa, os: move os.uitox to itoa.Uitox 2023-08-11 02:53:50 +00:00
exec_unix.go os: remove useless if from Wait on unix 2023-11-21 20:39:17 +00:00
exec_unix_test.go os: use t.Fatalf instead of t.Errorf in TestErrProcessDone 2023-08-07 00:23:04 +00:00
exec_windows.go os: remove 5ms sleep on Windows in (*Process).Wait 2023-07-26 15:13:24 +00:00
exec_windows_test.go os: remove 5ms sleep on Windows in (*Process).Wait 2023-07-26 15:13:24 +00:00
executable.go
executable_darwin.go
executable_dragonfly.go
executable_freebsd.go
executable_path.go
executable_plan9.go
executable_procfs.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
executable_solaris.go
executable_sysctl.go
executable_test.go all: use ^$ instead of XXXX, NoSuchTestExists to match no tests 2023-09-05 23:35:32 +00:00
executable_wasm.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
executable_windows.go
export_linux_test.go net,os: arrange zero-copy of os.File and net.TCPConn to net.UnixConn 2023-11-17 23:16:28 +00:00
export_test.go os: ensure File.ReadFrom returns ErrClosed instead of the internal poll.ErrFileClosing 2023-02-27 06:21:27 +00:00
export_unix_test.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
export_windows_test.go os: support file systems without file IDs when reading directories on windows 2023-08-16 15:15:27 +00:00
fifo_test.go os: if descriptor is non-blocking, retain that in Fd method 2023-05-17 21:12:04 +00:00
file.go os: document Readlink behavior for relative links 2023-12-07 17:27:54 +00:00
file_mutex_plan9.go
file_open_unix.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
file_open_wasip1.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
file_plan9.go all: remove newline characters after return statements 2023-12-14 17:22:18 +00:00
file_posix.go os, runtime: remove unused implementations of os.sigpipe 2023-05-12 21:33:26 +00:00
file_unix.go [release-branch.go1.22] os: RemoveAll: fix symlink race for unix 2024-05-30 01:14:42 +00:00
file_wasip1.go net: implement wasip1 FileListener and FileConn 2023-05-25 00:12:41 +00:00
file_windows.go os: document Readlink behavior for relative links 2023-12-07 17:27:54 +00:00
getwd.go
os_test.go [release-branch.go1.22] os: fix Chtimes test flakes 2024-08-14 17:44:11 +00:00
os_unix_test.go os: in TestMkdirStickyUmask, create a non-sticky directory as a control 2023-09-18 17:32:43 +00:00
os_windows_test.go src: a/an grammar fixes 2023-11-20 15:56:08 +00:00
path.go os: make MkdirAll support volume names 2023-08-09 15:15:57 +00:00
path_plan9.go os: make MkdirAll support volume names 2023-08-09 15:15:57 +00:00
path_test.go
path_unix.go os: make MkdirAll support volume names 2023-08-09 15:15:57 +00:00
path_windows.go all: fix Microsoft links 2023-09-12 16:42:41 +00:00
path_windows_test.go os: make MkdirAll support volume names 2023-08-09 15:15:57 +00:00
pipe2_unix.go os: explicitly check for invalid FD in NewFile 2023-05-24 20:19:46 +00:00
pipe_test.go all: use ^TestName$ regular pattern for invoking a single test 2023-09-05 23:35:29 +00:00
pipe_unix.go os: explicitly check for invalid FD in NewFile 2023-05-24 20:19:46 +00:00
pipe_wasm.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
proc.go
rawconn.go
rawconn_test.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
read_test.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
readfrom_linux_test.go net,os: arrange zero-copy of os.File and net.TCPConn to net.UnixConn 2023-11-17 23:16:28 +00:00
removeall_at.go [release-branch.go1.22] os: RemoveAll: fix symlink race for unix 2024-05-30 01:14:42 +00:00
removeall_noat.go
removeall_test.go all: use ^TestName$ regular pattern for invoking a single test 2023-09-05 23:35:29 +00:00
stat.go os: follow all name surrogate reparse points in Stat on Windows 2023-08-08 16:00:00 +00:00
stat_aix.go
stat_darwin.go
stat_dragonfly.go
stat_freebsd.go
stat_js.go
stat_linux.go
stat_netbsd.go
stat_openbsd.go
stat_plan9.go
stat_solaris.go
stat_test.go
stat_unix.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
stat_wasip1.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
stat_windows.go os: follow all name surrogate reparse points in Stat on Windows 2023-08-08 16:00:00 +00:00
sticky_bsd.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
sticky_notbsd.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
sys.go
sys_aix.go
sys_bsd.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
sys_js.go
sys_linux.go
sys_plan9.go
sys_solaris.go
sys_unix.go
sys_wasip1.go os: add wasip1 support 2023-04-07 23:34:21 +00:00
sys_windows.go
tempfile.go os: limit temp file randomness to uint32 2023-12-11 15:36:54 +00:00
tempfile_test.go
timeout_test.go all: fix spelling errors 2023-06-14 00:03:57 +00:00
types.go
types_plan9.go
types_unix.go
types_windows.go os: report IO_REPARSE_TAG_DEDUP files as regular in Stat and Lstat 2023-11-01 19:01:53 +00:00
wait6_dragonfly.go
wait6_freebsd64.go
wait6_freebsd_386.go
wait6_freebsd_arm.go
wait6_netbsd.go
wait_unimp.go os: adjust wait6/waitid comment for netbsd 2023-04-11 13:16:52 +00:00
wait_wait6.go
wait_waitid.go os: replace "used to used" with "used to use" in description text 2023-08-07 00:27:57 +00:00
writeto_linux_test.go net,os: arrange zero-copy of os.File and net.TCPConn to net.UnixConn 2023-11-17 23:16:28 +00:00
zero_copy_linux.go net,os: arrange zero-copy of os.File and net.TCPConn to net.UnixConn 2023-11-17 23:16:28 +00:00
zero_copy_stub.go net,os: arrange zero-copy of os.File and net.TCPConn to net.UnixConn 2023-11-17 23:16:28 +00:00