github.com/ethereum-optimism/optimism/l2geth@v0.0.0-20230612200230-50b04ade19e3/statedumper/dumper_test.go (about) 1 package statedumper 2 3 import ( 4 "github.com/ethereum-optimism/optimism/l2geth/common" 5 "io" 6 "os" 7 "testing" 8 ) 9 10 func TestFileStateDumper(t *testing.T) { 11 f, err := os.CreateTemp("", "") 12 if err != nil { 13 t.Fatalf("error creating file: %v", err) 14 } 15 err = os.Setenv("L2GETH_STATE_DUMP_PATH", f.Name()) 16 if err != nil { 17 t.Fatalf("error setting env file: %v", err) 18 } 19 dumper := NewStateDumper() 20 addr := common.Address{19: 0x01} 21 dumper.WriteETH(addr) 22 dumper.WriteMessage(addr, []byte("hi")) 23 _, err = f.Seek(0, 0) 24 if err != nil { 25 t.Fatalf("error seeking: %v", err) 26 } 27 data, err := io.ReadAll(f) 28 if err != nil { 29 t.Fatalf("error reading: %v", err) 30 } 31 dataStr := string(data) 32 if dataStr != "ETH|0x0000000000000000000000000000000000000001\nMSG|0x0000000000000000000000000000000000000001|6869\n" { 33 t.Fatalf("invalid data. got: %s", dataStr) 34 } 35 }