X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=src%2Ftx_test.go;h=507bc8b94e7b5ba848b39e19aeb1ebcb7fb5dd37;hb=0367cce2741e1ce6a89a49fd5c4e9df6005c9744;hp=85a00db69a416bbd6ae19cb6e9e5b569751f026f;hpb=ab7c7eca0e53661f0ba904c2a6ba752990bea367;p=nncp.git diff --git a/src/tx_test.go b/src/tx_test.go index 85a00db..507bc8b 100644 --- a/src/tx_test.go +++ b/src/tx_test.go @@ -1,6 +1,6 @@ /* NNCP -- Node to Node copy, utilities for store-and-forward data exchange -Copyright (C) 2016-2021 Sergey Matveev +Copyright (C) 2016-2022 Sergey Matveev This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,11 +19,11 @@ package nncp import ( "bytes" + "crypto/rand" "io" "io/ioutil" "os" "path" - "strings" "testing" "testing/quick" @@ -31,12 +31,23 @@ import ( ) func TestTx(t *testing.T) { - f := func(hops uint8, pathSrc, data string, nice, replyNice uint8, padSize int16) bool { + f := func( + hops uint8, + pathSrc string, + dataSize uint32, + nice, replyNice uint8, + minSize uint32, + ) bool { + dataSize %= 1 << 20 + data := make([]byte, dataSize) + if _, err := io.ReadFull(rand.Reader, data); err != nil { + panic(err) + } + minSize %= 1 << 20 if len(pathSrc) > int(MaxPathSize) { pathSrc = pathSrc[:MaxPathSize] } hops = hops % 4 - hops = 1 spool, err := ioutil.TempDir("", "testtx") if err != nil { panic(err) @@ -75,13 +86,14 @@ func TestTx(t *testing.T) { nodeTgt.Via = append(nodeTgt.Via, node.Id) } pkt, err := NewPkt(PktTypeExec, replyNice, []byte(pathSrc)) - src := strings.NewReader(data) - dstNode, err := ctx.Tx( + src := bytes.NewReader(data) + dstNode, _, err := ctx.Tx( nodeTgt, pkt, 123, int64(src.Len()), - int64(padSize), + int64(minSize), + MaxFileSize, src, "pktName", nil,