From 5ff38e476177ce9e67375bd010bea2e030f2fe19 Mon Sep 17 00:00:00 2001 From: Austin Clements Date: Sun, 1 Sep 2019 10:49:27 -0400 Subject: runtime: platform-independent faketime support This adds a platform-independent implementation of nacl's faketime support. It can be enabled by setting the faketime build tag. Updates #30439. Change-Id: Iee097004d56d796e6d2bfdd303a092c067ade87e Reviewed-on: https://go-review.googlesource.com/c/go/+/192740 Run-TryBot: Austin Clements TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- src/runtime/testdata/testfaketime/faketime.go | 28 +++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/runtime/testdata/testfaketime/faketime.go (limited to 'src/runtime/testdata') diff --git a/src/runtime/testdata/testfaketime/faketime.go b/src/runtime/testdata/testfaketime/faketime.go new file mode 100644 index 0000000000..1fb15ebb16 --- /dev/null +++ b/src/runtime/testdata/testfaketime/faketime.go @@ -0,0 +1,28 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Test faketime support. This is its own test program because we have +// to build it with custom build tags and hence want to minimize +// dependencies. + +package main + +import ( + "os" + "time" +) + +func main() { + println("line 1") + // Stream switch, increments time + os.Stdout.WriteString("line 2\n") + os.Stdout.WriteString("line 3\n") + // Stream switch, increments time + os.Stderr.WriteString("line 4\n") + // Time jump + time.Sleep(1 * time.Second) + os.Stdout.WriteString("line 5\n") + // Print the current time. + os.Stdout.WriteString(time.Now().UTC().Format(time.RFC3339)) +} -- cgit v1.3