github.com/Ptt-official-app/go-bbs@v0.12.0/cache/systemvshm_test.go (about)

     1  // +build linux darwin unix
     2  
     3  package cache
     4  
     5  import (
     6  	"testing"
     7  )
     8  
     9  func TestOpenSHM(t *testing.T) {
    10  
    11  	data, err := CreateKey(10, 4)
    12  	data.Bytes()[0] = 42
    13  	if err != nil {
    14  		t.Logf("err should be nil, got: %v", err)
    15  	}
    16  
    17  	if data.Bytes()[0] != 42 {
    18  		t.Errorf("data buf should be %v, got %v", 42, data.Bytes()[0])
    19  	}
    20  	data.Close()
    21  
    22  	data, err = OpenKey(10)
    23  	if err != nil {
    24  		t.Logf("err should be nil, got: %v", err)
    25  	}
    26  
    27  	if data.Bytes()[0] != 42 {
    28  		t.Errorf("data buf should be %v, got %v", 42, data.Bytes()[0])
    29  	}
    30  	data.Bytes()[0] = 43
    31  
    32  	err = data.Close()
    33  	if err != nil {
    34  		t.Logf("err should be nil, got: %v", err)
    35  	}
    36  
    37  	data, err = OpenKey(10)
    38  	if err != nil {
    39  		t.Logf("err should be nil, got: %v", err)
    40  	}
    41  
    42  	if data.Bytes()[0] != 43 {
    43  		t.Errorf("data buf should be %v, got %v", 43, data.Bytes()[0])
    44  	}
    45  	RemoveKey(10)
    46  }