diff --git a/extras/hs-test/raw_session_test.go b/extras/hs-test/raw_session_test.go
index 5c66df0..438b7ba 100644
--- a/extras/hs-test/raw_session_test.go
+++ b/extras/hs-test/raw_session_test.go
@@ -1,40 +1,42 @@
 package main
 
+import . "fd.io/hs-test/infra"
+
 func init() {
-	registerVethTests(VppEchoQuicTest, VppEchoTcpTest)
+	RegisterVethTests(VppEchoQuicTest, VppEchoTcpTest)
 }
 
 func VppEchoQuicTest(s *VethsSuite) {
-	s.testVppEcho("quic")
+	testVppEcho(s, "quic")
 }
 
 // TODO: udp echo currently broken in vpp
 func VppEchoUdpTest(s *VethsSuite) {
-	s.testVppEcho("udp")
+	testVppEcho(s, "udp")
 }
 
 func VppEchoTcpTest(s *VethsSuite) {
-	s.testVppEcho("tcp")
+	testVppEcho(s, "tcp")
 }
 
-func (s *VethsSuite) testVppEcho(proto string) {
-	serverVethAddress := s.getInterfaceByName(serverInterfaceName).ip4AddressString()
+func testVppEcho(s *VethsSuite, proto string) {
+	serverVethAddress := s.GetInterfaceByName(ServerInterfaceName).Ip4AddressString()
 	uri := proto + "://" + serverVethAddress + "/12344"
 
-	echoSrvContainer := s.getContainerByName("server-app")
+	echoSrvContainer := s.GetContainerByName("server-app")
 	serverCommand := "vpp_echo server TX=RX" +
-		" socket-name " + echoSrvContainer.getContainerWorkDir() + "/var/run/app_ns_sockets/default" +
+		" socket-name " + echoSrvContainer.GetContainerWorkDir() + "/var/run/app_ns_sockets/default" +
 		" use-app-socket-api" +
 		" uri " + uri
-	s.log(serverCommand)
-	echoSrvContainer.execServer(serverCommand)
+	s.Log(serverCommand)
+	echoSrvContainer.ExecServer(serverCommand)
 
-	echoClnContainer := s.getContainerByName("client-app")
+	echoClnContainer := s.GetContainerByName("client-app")
 
 	clientCommand := "vpp_echo client" +
-		" socket-name " + echoClnContainer.getContainerWorkDir() + "/var/run/app_ns_sockets/default" +
+		" socket-name " + echoClnContainer.GetContainerWorkDir() + "/var/run/app_ns_sockets/default" +
 		" use-app-socket-api uri " + uri
-	s.log(clientCommand)
-	o := echoClnContainer.exec(clientCommand)
-	s.log(o)
+	s.Log(clientCommand)
+	o := echoClnContainer.Exec(clientCommand)
+	s.Log(o)
 }
