mirror of https://github.com/XTLS/Xray-core
				
				
				
			Add xudp buffer test
							parent
							
								
									06c9e50c52
								
							
						
					
					
						commit
						9f8e9e8e64
					
				| 
						 | 
				
			
			@ -150,7 +150,7 @@ func (r *PacketReader) ReadMultiBuffer() (buf.MultiBuffer, error) {
 | 
			
		|||
		case 2:
 | 
			
		||||
			if l != 4 {
 | 
			
		||||
				b.Advance(5)
 | 
			
		||||
				addr, port, err := AddrParser.ReadAddressPort(nil, b)
 | 
			
		||||
				addr, port, err := AddrParser.ReadAddressPort(nil, b) // read addr will read all content and clear b
 | 
			
		||||
				if err != nil {
 | 
			
		||||
					b.Release()
 | 
			
		||||
					return nil, err
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,36 @@
 | 
			
		|||
package xudp
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"testing"
 | 
			
		||||
 | 
			
		||||
	"github.com/xtls/xray-core/common"
 | 
			
		||||
	"github.com/xtls/xray-core/common/buf"
 | 
			
		||||
	"github.com/xtls/xray-core/common/net"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func TestXudpReadWrite(t *testing.T) {
 | 
			
		||||
	addr, _ := net.ParseDestination("tcp:127.0.0.1:1345")
 | 
			
		||||
	mb := make(buf.MultiBuffer, 0, 16)
 | 
			
		||||
	m := buf.MultiBufferContainer {
 | 
			
		||||
		MultiBuffer: mb,
 | 
			
		||||
	}
 | 
			
		||||
	var arr [8]byte
 | 
			
		||||
	writer := NewPacketWriter(&m, addr, arr)
 | 
			
		||||
 | 
			
		||||
	source := make(buf.MultiBuffer, 0, 16)
 | 
			
		||||
	b := buf.New()
 | 
			
		||||
	b.WriteByte('a')
 | 
			
		||||
	b.UDP = &addr
 | 
			
		||||
	source = append(source, b)
 | 
			
		||||
	writer.WriteMultiBuffer(source)
 | 
			
		||||
 | 
			
		||||
	reader := NewPacketReader(&m)
 | 
			
		||||
	dest, err := reader.ReadMultiBuffer()
 | 
			
		||||
	common.Must(err)
 | 
			
		||||
	if dest[0].Byte(0) != 'a' {
 | 
			
		||||
		t.Error("failed to parse xudp buffer")
 | 
			
		||||
	}
 | 
			
		||||
	if dest[0].UDP.Port != 1345 {
 | 
			
		||||
		t.Error("failed to parse xudp buffer")
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue