github.com/safing/portbase@v0.19.5/rng/rng_test.go (about)

     1  package rng
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func init() {
     8  	err := start()
     9  	if err != nil {
    10  		panic(err)
    11  	}
    12  }
    13  
    14  func TestRNG(t *testing.T) {
    15  	t.Parallel()
    16  
    17  	key := make([]byte, 16)
    18  
    19  	rngCipher = "aes"
    20  	_, err := newCipher(key)
    21  	if err != nil {
    22  		t.Errorf("failed to create aes cipher: %s", err)
    23  	}
    24  
    25  	rngCipher = "serpent"
    26  	_, err = newCipher(key)
    27  	if err != nil {
    28  		t.Errorf("failed to create serpent cipher: %s", err)
    29  	}
    30  
    31  	b := make([]byte, 32)
    32  	_, err = Read(b)
    33  	if err != nil {
    34  		t.Errorf("Read failed: %s", err)
    35  	}
    36  	_, err = Reader.Read(b)
    37  	if err != nil {
    38  		t.Errorf("Read failed: %s", err)
    39  	}
    40  
    41  	_, err = Bytes(32)
    42  	if err != nil {
    43  		t.Errorf("Bytes failed: %s", err)
    44  	}
    45  
    46  	_, err = Number(100)
    47  	if err != nil {
    48  		t.Errorf("Number failed: %s", err)
    49  	}
    50  }