Skip to content

Instantly share code, notes, and snippets.

@podhmo
Created January 5, 2021 12:33
Show Gist options
  • Save podhmo/093e40b18eecf000e66991bf33eae724 to your computer and use it in GitHub Desktop.
Save podhmo/093e40b18eecf000e66991bf33eae724 to your computer and use it in GitHub Desktop.
package main
import (
"fmt"
"log"
"os"
"path/filepath"
)
func Run(d string) error {
{
f, err := os.Create(filepath.Join(d, "1.txt"))
if err != nil {
return err
}
fmt.Fprintln(f, "one")
}
{
f, err := os.Create(filepath.Join(d, "2.txt"))
if err != nil {
return err
}
fmt.Fprintln(f, "two")
}
{
f, err := os.Create(filepath.Join(d, "3.txt"))
if err != nil {
return err
}
fmt.Fprintln(f, "three")
}
return nil
}
func main() {
if err := Run(os.Getenv("TARGET")); err != nil {
log.Fatalf("!! %+v", err)
}
}
package main
import (
"io/ioutil"
"testing"
)
func TestRun(t *testing.T) {
d := t.TempDir()
t.Logf("outdir: %s", d)
if err := Run(d); err != nil {
t.Errorf("!! %+v", err)
}
files, err := ioutil.ReadDir(d)
if err != nil {
t.Errorf("!!! %+v", err)
}
wantFiles := []string{"1.txt", "2.txt", "3.txt"}
if len(files) != len(wantFiles) {
t.Errorf("mismatch the number of files, got=%d, want=%d", len(files), len(wantFiles))
}
for i, f := range files {
if f.Name() != wantFiles[i] {
t.Errorf("files[%d], %s != %s", i, f.Name(), wantFiles[i])
}
}
}
# test log
getenv TMPDIR
open /var/folders/b7/2rk7xp2d0hb2r21zbzjwxb_m0000gn/T/TestRun822825880/001/1.txt
open /var/folders/b7/2rk7xp2d0hb2r21zbzjwxb_m0000gn/T/TestRun822825880/001/2.txt
open /var/folders/b7/2rk7xp2d0hb2r21zbzjwxb_m0000gn/T/TestRun822825880/001/3.txt
open /var/folders/b7/2rk7xp2d0hb2r21zbzjwxb_m0000gn/T/TestRun822825880/001
stat /var/folders/b7/2rk7xp2d0hb2r21zbzjwxb_m0000gn/T/TestRun822825880/001/1.txt
stat /var/folders/b7/2rk7xp2d0hb2r21zbzjwxb_m0000gn/T/TestRun822825880/001/2.txt
stat /var/folders/b7/2rk7xp2d0hb2r21zbzjwxb_m0000gn/T/TestRun822825880/001/3.txt
open /var/folders/b7/2rk7xp2d0hb2r21zbzjwxb_m0000gn/T
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment