forked from usnistgov/ndn-dpdk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmemif_test.go
50 lines (43 loc) · 1.24 KB
/
memif_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package memifface_test
import (
"path/filepath"
"testing"
"github.com/usnistgov/ndn-dpdk/iface/ifacetestenv"
"github.com/usnistgov/ndn-dpdk/iface/memifface"
"github.com/usnistgov/ndn-dpdk/ndn/memiftransport"
"golang.org/x/sys/unix"
)
func TestMemif(t *testing.T) {
assert, require := makeAR(t)
fixture := ifacetestenv.NewFixture(t)
socketName := filepath.Join(t.TempDir(), "subdir/memif.sock")
var locA memifface.Locator
locA.SocketName = socketName
locA.ID = 7655
locA.SocketOwner = &[2]int{0, 8000}
faceA, e := locA.CreateFace()
require.NoError(e)
assert.Equal("memif", faceA.Locator().Scheme())
var locB memifface.Locator
locB.SocketName = socketName
locB.ID = 1891
locB.SocketOwner = &[2]int{0, 8001}
faceB, e := locB.CreateFace()
require.NoError(e)
require.NoError(memiftransport.ForkBridgeHelper(memiftransport.Locator{
Role: memiftransport.RoleClient,
SocketName: socketName,
ID: 7655,
}, memiftransport.Locator{
Role: memiftransport.RoleClient,
SocketName: socketName,
ID: 1891,
}, func() {
fixture.RunTest(faceA, faceB)
fixture.CheckCounters()
var st unix.Stat_t
require.NoError(unix.Stat(socketName, &st))
assert.EqualValues(0, st.Uid)
assert.EqualValues(8000, st.Gid)
}))
}