From 3f1edad4e6ba0a7876750aea55507fae14d8badf Mon Sep 17 00:00:00 2001 From: Milan Lenco Date: Wed, 11 Oct 2017 16:40:58 +0200 Subject: ODPM 266: Go-libmemif + 2 examples. Change-Id: Icdb9b9eb2314eff6c96afe7996fcf2728291de4a Signed-off-by: Milan Lenco --- .../github.com/google/gopacket/pcap/pcapgo_test.go | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 vendor/github.com/google/gopacket/pcap/pcapgo_test.go (limited to 'vendor/github.com/google/gopacket/pcap/pcapgo_test.go') diff --git a/vendor/github.com/google/gopacket/pcap/pcapgo_test.go b/vendor/github.com/google/gopacket/pcap/pcapgo_test.go new file mode 100644 index 0000000..4de018a --- /dev/null +++ b/vendor/github.com/google/gopacket/pcap/pcapgo_test.go @@ -0,0 +1,56 @@ +// Copyright 2012 Google, Inc. All rights reserved. +// +// Use of this source code is governed by a BSD-style license +// that can be found in the LICENSE file in the root of the source +// tree. + +package pcap + +import ( + "bytes" + "github.com/google/gopacket" + "github.com/google/gopacket/layers" + "github.com/google/gopacket/pcapgo" + "io/ioutil" + "reflect" + "testing" + "time" +) + +func TestPCAPGoWrite(t *testing.T) { + f, err := ioutil.TempFile("", "pcapgo") + if err != nil { + t.Fatal(err) + } + data := []byte{0xab, 0xcd, 0xef, 0x01, 0x02, 0x03, 0x04} + ci := gopacket.CaptureInfo{ + Timestamp: time.Unix(12345667, 1234567000), + Length: 700, + CaptureLength: len(data), + } + func() { + defer f.Close() + w := pcapgo.NewWriter(f) + if err := w.WriteFileHeader(65536, layers.LinkTypeEthernet); err != nil { + t.Fatal(err) + } + if err := w.WritePacket(ci, data); err != nil { + t.Fatal(err) + } + }() + h, err := OpenOffline(f.Name()) + if err != nil { + t.Fatal(err) + } + defer h.Close() + gotData, gotCI, err := h.ReadPacketData() + if err != nil { + t.Fatal("could not read first packet:", err) + } + if !bytes.Equal(gotData, data) { + t.Errorf("byte mismatch:\nwant: %v\n got: %v", data, gotData) + } + if !reflect.DeepEqual(ci, gotCI) { + t.Errorf("CI mismatch:\nwant: %v\n got: %v", ci, gotCI) + } +} -- cgit 1.2.3-korg