Kaynağa Gözat

parallelize tests (#143)

* fix kopts and session race

* fix nil pointer

* parallel tests
Jonathan Turner 8 yıl önce
ebeveyn
işleme
018098a529
41 değiştirilmiş dosya ile 137 ekleme ve 5 silme
  1. 6 0
      config/krb5conf_test.go
  2. 6 0
      credentials/ccache_test.go
  3. 1 0
      credentials/credentials_test.go
  4. 1 0
      crypto/aes128-cts-hmac-sha1-96_test.go
  5. 4 0
      crypto/aes128-cts-hmac-sha256-128_test.go
  6. 1 0
      crypto/aes256-cts-hmac-sha1-96_test.go
  7. 4 0
      crypto/aes256-cts-hmac-sha384-192_test.go
  8. 2 0
      crypto/des3-cbc-sha1-kd_test.go
  9. 1 0
      crypto/rfc3961/nfold_test.go
  10. 1 0
      crypto/rfc4757/keyDerivation_test.go
  11. 4 0
      gssapi/NegotiationToken_test.go
  12. 11 0
      gssapi/WrapToken_test.go
  13. 4 0
      gssapi/gssapi_test.go
  14. 5 0
      gssapi/krb5Token_test.go
  15. 1 0
      kadmin/changepasswddata_test.go
  16. 1 0
      kadmin/message_test.go
  17. 2 0
      keytab/keytab_test.go
  18. 3 0
      messages/APRep_test.go
  19. 2 0
      messages/APReq_test.go
  20. 8 0
      messages/KDCRep_test.go
  21. 12 5
      messages/KDCReq_test.go
  22. 3 0
      messages/KRBCred_test.go
  23. 2 0
      messages/KRBError_test.go
  24. 5 0
      messages/KRBPriv_test.go
  25. 2 0
      messages/KRBSafe_test.go
  26. 5 0
      messages/Ticket_test.go
  27. 1 0
      mstypes/filetime_test.go
  28. 1 0
      pac/client_info_test.go
  29. 1 0
      pac/kerb_validation_info_test.go
  30. 1 0
      pac/pac_type_test.go
  31. 2 0
      pac/signature_data_test.go
  32. 1 0
      pac/upn_dns_info_test.go
  33. 7 0
      service/APExchange_test.go
  34. 1 0
      service/authenticator_test.go
  35. 4 0
      types/Authenticator_test.go
  36. 2 0
      types/AuthorizationData_test.go
  37. 5 0
      types/Cryptosystem_test.go
  38. 3 0
      types/KerberosFlags_test.go
  39. 9 0
      types/PAData_test.go
  40. 1 0
      types/PrincipalName_test.go
  41. 1 0
      types/TypedData_test.go

+ 6 - 0
config/krb5conf_test.go

@@ -234,6 +234,7 @@ const (
 )
 
 func TestLoad(t *testing.T) {
+	t.Parallel()
 	cf, _ := ioutil.TempFile(os.TempDir(), "TEST-gokrb5-krb5.conf")
 	defer os.Remove(cf.Name())
 	cf.WriteString(krb5Conf)
@@ -267,6 +268,7 @@ func TestLoad(t *testing.T) {
 }
 
 func TestLoad2(t *testing.T) {
+	t.Parallel()
 	c, err := NewConfigFromString(krb5Conf2)
 	if err != nil {
 		t.Fatalf("Error loading config: %v", err)
@@ -296,6 +298,7 @@ func TestLoad2(t *testing.T) {
 }
 
 func TestLoadNoBlankLines(t *testing.T) {
+	t.Parallel()
 	c, err := NewConfigFromString(krb5ConfNoBlankLines)
 	if err != nil {
 		t.Fatalf("Error loading config: %v", err)
@@ -325,6 +328,7 @@ func TestLoadNoBlankLines(t *testing.T) {
 }
 
 func TestLoadTabs(t *testing.T) {
+	t.Parallel()
 	cf, _ := ioutil.TempFile(os.TempDir(), "TEST-gokrb5-krb5.conf")
 	defer os.Remove(cf.Name())
 	cf.WriteString(krb5ConfTabs)
@@ -358,6 +362,7 @@ func TestLoadTabs(t *testing.T) {
 }
 
 func TestParseDuration(t *testing.T) {
+	t.Parallel()
 	// https://web.mit.edu/kerberos/krb5-1.12/doc/basic/date_format.html#duration
 	hms, _ := time.ParseDuration("12h30m15s")
 	hm, _ := time.ParseDuration("12h30m")
@@ -386,6 +391,7 @@ func TestParseDuration(t *testing.T) {
 }
 
 func TestResolveRealm(t *testing.T) {
+	t.Parallel()
 	c, err := NewConfigFromString(krb5Conf)
 	if err != nil {
 		t.Fatalf("Error loading config: %v", err)

+ 6 - 0
credentials/ccache_test.go

@@ -11,6 +11,7 @@ import (
 )
 
 func TestParse(t *testing.T) {
+	t.Parallel()
 	b, err := hex.DecodeString(testdata.CCACHE_TEST)
 	if err != nil {
 		t.Fatal("Error decoding test data")
@@ -39,6 +40,7 @@ func TestParse(t *testing.T) {
 }
 
 func TestCCache_GetClientPrincipalName(t *testing.T) {
+	t.Parallel()
 	b, err := hex.DecodeString(testdata.CCACHE_TEST)
 	if err != nil {
 		t.Fatal("Error decoding test data")
@@ -55,6 +57,7 @@ func TestCCache_GetClientPrincipalName(t *testing.T) {
 }
 
 func TestCCache_GetClientCredentials(t *testing.T) {
+	t.Parallel()
 	b, err := hex.DecodeString(testdata.CCACHE_TEST)
 	if err != nil {
 		t.Fatal("Error decoding test data")
@@ -74,6 +77,7 @@ func TestCCache_GetClientCredentials(t *testing.T) {
 }
 
 func TestCCache_GetClientRealm(t *testing.T) {
+	t.Parallel()
 	b, err := hex.DecodeString(testdata.CCACHE_TEST)
 	if err != nil {
 		t.Fatal("Error decoding test data")
@@ -86,6 +90,7 @@ func TestCCache_GetClientRealm(t *testing.T) {
 }
 
 func TestCCache_GetEntry(t *testing.T) {
+	t.Parallel()
 	b, err := hex.DecodeString(testdata.CCACHE_TEST)
 	if err != nil {
 		t.Fatal("Error decoding test data")
@@ -106,6 +111,7 @@ func TestCCache_GetEntry(t *testing.T) {
 }
 
 func TestCCache_GetEntries(t *testing.T) {
+	t.Parallel()
 	b, err := hex.DecodeString(testdata.CCACHE_TEST)
 	if err != nil {
 		t.Fatal("Error decoding test data")

+ 1 - 0
credentials/credentials_test.go

@@ -7,6 +7,7 @@ import (
 )
 
 func TestImplementsInterface(t *testing.T) {
+	t.Parallel()
 	u := new(Credentials)
 	i := new(goidentity.Identity)
 	assert.Implements(t, i, u, "Credentials type does not implement the Identity interface")

+ 1 - 0
crypto/aes128-cts-hmac-sha1-96_test.go

@@ -10,6 +10,7 @@ import (
 )
 
 func TestAes128CtsHmacSha196_StringToKey(t *testing.T) {
+	t.Parallel()
 	// Test vectors from RFC 3962 Appendix B
 	b, _ := hex.DecodeString("1234567878563412")
 	s := string(b)

+ 4 - 0
crypto/aes128-cts-hmac-sha256-128_test.go

@@ -10,6 +10,7 @@ import (
 )
 
 func TestAes128CtsHmacSha256128_StringToKey(t *testing.T) {
+	t.Parallel()
 	// Test vectors from RFC 8009 Appendix A
 	// Random 16bytes in test vector as string
 	r, _ := hex.DecodeString("10DF9DD783E5BC8ACEA1730E74355F61")
@@ -35,6 +36,7 @@ func TestAes128CtsHmacSha256128_StringToKey(t *testing.T) {
 }
 
 func TestAes128CtsHmacSha256128_DeriveKey(t *testing.T) {
+	t.Parallel()
 	// Test vectors from RFC 8009 Appendix A
 	protocolBaseKey, _ := hex.DecodeString("3705d96080c17728a0e800eab6e0d23c")
 	testUsage := uint32(2)
@@ -57,6 +59,7 @@ func TestAes128CtsHmacSha256128_DeriveKey(t *testing.T) {
 }
 
 func TestAes128CtsHmacSha256128_VerifyIntegrity(t *testing.T) {
+	t.Parallel()
 	// Test vectors from RFC 8009
 	protocolBaseKey, _ := hex.DecodeString("3705d96080c17728a0e800eab6e0d23c")
 	testUsage := uint32(2)
@@ -79,6 +82,7 @@ func TestAes128CtsHmacSha256128_VerifyIntegrity(t *testing.T) {
 }
 
 func TestAes128CtsHmacSha256128_Cypto(t *testing.T) {
+	t.Parallel()
 	protocolBaseKey, _ := hex.DecodeString("3705d96080c17728a0e800eab6e0d23c")
 	testUsage := uint32(2)
 	var tests = []struct {

+ 1 - 0
crypto/aes256-cts-hmac-sha1-96_test.go

@@ -10,6 +10,7 @@ import (
 )
 
 func TestAes256CtsHmacSha196_StringToKey(t *testing.T) {
+	t.Parallel()
 	// Test vectors from RFC 3962 Appendix B
 	b, _ := hex.DecodeString("1234567878563412")
 	s := string(b)

+ 4 - 0
crypto/aes256-cts-hmac-sha384-192_test.go

@@ -10,6 +10,7 @@ import (
 )
 
 func TestAes256CtsHmacSha384192_StringToKey(t *testing.T) {
+	t.Parallel()
 	// Test vectors from RFC 8009 Appendix A
 	// Random 16bytes in test vector as string
 	r, _ := hex.DecodeString("10DF9DD783E5BC8ACEA1730E74355F61")
@@ -34,6 +35,7 @@ func TestAes256CtsHmacSha384192_StringToKey(t *testing.T) {
 }
 
 func TestAes256CtsHmacSha384192_DeriveKey(t *testing.T) {
+	t.Parallel()
 	// Test vectors from RFC 8009 Appendix A
 	protocolBaseKey, _ := hex.DecodeString("6d404d37faf79f9df0d33568d320669800eb4836472ea8a026d16b7182460c52")
 	testUsage := uint32(2)
@@ -56,6 +58,7 @@ func TestAes256CtsHmacSha384192_DeriveKey(t *testing.T) {
 }
 
 func TestAes256CtsHmacSha384192_Cypto(t *testing.T) {
+	t.Parallel()
 	protocolBaseKey, _ := hex.DecodeString("6d404d37faf79f9df0d33568d320669800eb4836472ea8a026d16b7182460c52")
 	testUsage := uint32(2)
 	var tests = []struct {
@@ -121,6 +124,7 @@ func TestAes256CtsHmacSha384192_Cypto(t *testing.T) {
 }
 
 func TestAes256CtsHmacSha384192_VerifyIntegrity(t *testing.T) {
+	t.Parallel()
 	// Test vectors from RFC 8009
 	protocolBaseKey, _ := hex.DecodeString("6d404d37faf79f9df0d33568d320669800eb4836472ea8a026d16b7182460c52")
 	testUsage := uint32(2)

+ 2 - 0
crypto/des3-cbc-sha1-kd_test.go

@@ -9,6 +9,7 @@ import (
 )
 
 func TestDes3CbcSha1Kd_DR_DK(t *testing.T) {
+	t.Parallel()
 	// Test vectors from RFC 3961 Appendix A3
 	var tests = []struct {
 		key   string
@@ -44,6 +45,7 @@ func TestDes3CbcSha1Kd_DR_DK(t *testing.T) {
 }
 
 func TestDes3CbcSha1Kd_StringToKey(t *testing.T) {
+	t.Parallel()
 	var tests = []struct {
 		salt   string
 		secret string

+ 1 - 0
crypto/rfc3961/nfold_test.go

@@ -8,6 +8,7 @@ import (
 )
 
 func Test_nfold(t *testing.T) {
+	t.Parallel()
 	var tests = []struct {
 		n      int
 		b      []byte

+ 1 - 0
crypto/rfc4757/keyDerivation_test.go

@@ -13,6 +13,7 @@ const (
 )
 
 func TestStringToKey(t *testing.T) {
+	t.Parallel()
 	kb, err := StringToKey(testPassword)
 	if err != nil {
 		t.Fatalf("Error deriving key from string: %v", err)

+ 4 - 0
gssapi/NegotiationToken_test.go

@@ -14,6 +14,7 @@ const (
 )
 
 func TestUnmarshal_negTokenInit(t *testing.T) {
+	t.Parallel()
 	b, err := hex.DecodeString(testNegTokenInit)
 	if err != nil {
 		t.Fatalf("Error converting hex string test data to bytes: %v", err)
@@ -36,6 +37,7 @@ func TestUnmarshal_negTokenInit(t *testing.T) {
 }
 
 func TestMarshal_negTokenInit(t *testing.T) {
+	t.Parallel()
 	b, err := hex.DecodeString(testNegTokenInit)
 	if err != nil {
 		t.Fatalf("Error converting hex string test data to bytes: %v", err)
@@ -53,6 +55,7 @@ func TestMarshal_negTokenInit(t *testing.T) {
 }
 
 func TestUnmarshal_negTokenResp(t *testing.T) {
+	t.Parallel()
 	b, err := hex.DecodeString(testNegTokenResp)
 	if err != nil {
 		t.Fatalf("Error converting hex string test data to bytes: %v", err)
@@ -69,6 +72,7 @@ func TestUnmarshal_negTokenResp(t *testing.T) {
 }
 
 func TestMarshal_negTokenResp(t *testing.T) {
+	t.Parallel()
 	b, err := hex.DecodeString(testNegTokenResp)
 	if err != nil {
 		t.Fatalf("Error converting hex string test data to bytes: %v", err)

+ 11 - 0
gssapi/WrapToken_test.go

@@ -68,6 +68,7 @@ func getResponseReferenceNoChkSum() *WrapToken {
 }
 
 func TestUnmarshal_Challenge(t *testing.T) {
+	t.Parallel()
 	challenge, _ := hex.DecodeString(testChallengeFromAcceptor)
 	var wt WrapToken
 	err := wt.Unmarshal(challenge, true)
@@ -76,6 +77,7 @@ func TestUnmarshal_Challenge(t *testing.T) {
 }
 
 func TestUnmarshalFailure_Challenge(t *testing.T) {
+	t.Parallel()
 	challenge, _ := hex.DecodeString(testChallengeFromAcceptor)
 	var wt WrapToken
 	err := wt.Unmarshal(challenge, false)
@@ -89,6 +91,7 @@ func TestUnmarshalFailure_Challenge(t *testing.T) {
 }
 
 func TestUnmarshal_ChallengeReply(t *testing.T) {
+	t.Parallel()
 	response, _ := hex.DecodeString(testChallengeReplyFromInitiator)
 	var wt WrapToken
 	err := wt.Unmarshal(response, false)
@@ -97,6 +100,7 @@ func TestUnmarshal_ChallengeReply(t *testing.T) {
 }
 
 func TestUnmarshalFailure_ChallengeReply(t *testing.T) {
+	t.Parallel()
 	response, _ := hex.DecodeString(testChallengeReplyFromInitiator)
 	var wt WrapToken
 	err := wt.Unmarshal(response, true)
@@ -110,6 +114,7 @@ func TestUnmarshalFailure_ChallengeReply(t *testing.T) {
 }
 
 func TestChallengeChecksumVerification(t *testing.T) {
+	t.Parallel()
 	challenge, _ := hex.DecodeString(testChallengeFromAcceptor)
 	var wt WrapToken
 	wt.Unmarshal(challenge, true)
@@ -119,6 +124,7 @@ func TestChallengeChecksumVerification(t *testing.T) {
 }
 
 func TestResponseChecksumVerification(t *testing.T) {
+	t.Parallel()
 	reply, _ := hex.DecodeString(testChallengeReplyFromInitiator)
 	var wt WrapToken
 	wt.Unmarshal(reply, false)
@@ -128,6 +134,7 @@ func TestResponseChecksumVerification(t *testing.T) {
 }
 
 func TestChecksumVerificationFailure(t *testing.T) {
+	t.Parallel()
 	challenge, _ := hex.DecodeString(testChallengeFromAcceptor)
 	var wt WrapToken
 	wt.Unmarshal(challenge, true)
@@ -149,18 +156,21 @@ func TestChecksumVerificationFailure(t *testing.T) {
 }
 
 func TestMarshal_Challenge(t *testing.T) {
+	t.Parallel()
 	bytes, _ := getChallengeReference().Marshal()
 	assert.Equal(t, testChallengeFromAcceptor, hex.EncodeToString(bytes),
 		"Marshalling did not yield the expected result.")
 }
 
 func TestMarshal_ChallengeReply(t *testing.T) {
+	t.Parallel()
 	bytes, _ := getResponseReference().Marshal()
 	assert.Equal(t, testChallengeReplyFromInitiator, hex.EncodeToString(bytes),
 		"Marshalling did not yield the expected result.")
 }
 
 func TestMarshal_Failures(t *testing.T) {
+	t.Parallel()
 	noChkSum := getResponseReferenceNoChkSum()
 	chkBytes, chkErr := noChkSum.Marshal()
 	assert.Nil(t, chkBytes, "No bytes should be returned.")
@@ -174,6 +184,7 @@ func TestMarshal_Failures(t *testing.T) {
 }
 
 func TestNewInitiatorTokenSignatureAndMarshalling(t *testing.T) {
+	t.Parallel()
 	token, tErr := NewInitiatorToken([]byte{0x01, 0x01, 0x00, 0x00}, getSessionKey())
 	assert.Nil(t, tErr, "Unexepected error.")
 	assert.Equal(t, getResponseReference(), token, "Token failed to be marshalled to the expected bytes.")

+ 4 - 0
gssapi/gssapi_test.go

@@ -14,6 +14,7 @@ const (
 )
 
 func TestUnmarshal_SPNEGO_Init(t *testing.T) {
+	t.Parallel()
 	b, err := hex.DecodeString(testGSSAPIInit)
 	if err != nil {
 		t.Fatalf("Error converting hex string test data to bytes: %v", err)
@@ -37,6 +38,7 @@ func TestUnmarshal_SPNEGO_Init(t *testing.T) {
 }
 
 func TestUnmarshal_SPNEGO_RespTarg(t *testing.T) {
+	t.Parallel()
 	b, err := hex.DecodeString(testGSSAPIResp)
 	if err != nil {
 		t.Fatalf("Error converting hex string test data to bytes: %v", err)
@@ -53,6 +55,7 @@ func TestUnmarshal_SPNEGO_RespTarg(t *testing.T) {
 }
 
 func TestMarshal_SPNEGO_Init(t *testing.T) {
+	t.Parallel()
 	b, err := hex.DecodeString(testGSSAPIInit)
 	if err != nil {
 		t.Fatalf("Error converting hex string test data to bytes: %v", err)
@@ -70,6 +73,7 @@ func TestMarshal_SPNEGO_Init(t *testing.T) {
 }
 
 func TestMarshal_SPNEGO_RespTarg(t *testing.T) {
+	t.Parallel()
 	b, err := hex.DecodeString(testGSSAPIResp)
 	if err != nil {
 		t.Fatalf("Error converting hex string test data to bytes: %v", err)

+ 5 - 0
gssapi/krb5Token_test.go

@@ -19,6 +19,7 @@ const (
 )
 
 func TestMechToken_Unmarshal(t *testing.T) {
+	t.Parallel()
 	b, err := hex.DecodeString(MechTokenHex)
 	if err != nil {
 		t.Fatalf("Error decoding MechToken hex: %v", err)
@@ -36,6 +37,7 @@ func TestMechToken_Unmarshal(t *testing.T) {
 }
 
 func TestMechToken_newAuthenticatorChksum(t *testing.T) {
+	t.Parallel()
 	b, err := hex.DecodeString(AuthChksum)
 	if err != nil {
 		t.Fatalf("Error decoding MechToken hex: %v", err)
@@ -46,6 +48,7 @@ func TestMechToken_newAuthenticatorChksum(t *testing.T) {
 
 // Test with explicit subkey generation.
 func TestMechToken_newAuthenticatorWithSubkeyGeneration(t *testing.T) {
+	t.Parallel()
 	creds := credentials.NewCredentials("hftsai", testdata.TEST_REALM)
 	creds.CName.NameString = testdata.TEST_PRINCIPALNAME_NAMESTRING
 	var etypeID int32 = 18
@@ -75,6 +78,7 @@ func TestMechToken_newAuthenticatorWithSubkeyGeneration(t *testing.T) {
 
 // Test without subkey generation.
 func TestMechToken_newAuthenticator(t *testing.T) {
+	t.Parallel()
 	creds := credentials.NewCredentials("hftsai", testdata.TEST_REALM)
 	creds.CName.NameString = testdata.TEST_PRINCIPALNAME_NAMESTRING
 	a, err := NewAuthenticator(creds, []int{GSS_C_INTEG_FLAG, GSS_C_CONF_FLAG})
@@ -94,6 +98,7 @@ func TestMechToken_newAuthenticator(t *testing.T) {
 }
 
 func TestNewAPREQMechToken_and_Marshal(t *testing.T) {
+	t.Parallel()
 	creds := credentials.NewCredentials("hftsai", testdata.TEST_REALM)
 	creds.CName.NameString = testdata.TEST_PRINCIPALNAME_NAMESTRING
 

+ 1 - 0
kadmin/changepasswddata_test.go

@@ -11,6 +11,7 @@ import (
 )
 
 func TestChangePasswdData_Marshal(t *testing.T) {
+	t.Parallel()
 	chgpasswd := ChangePasswdData{
 		NewPasswd: []byte("newpassword"),
 		TargName:  types.NewPrincipalName(nametype.KRB_NT_PRINCIPAL, "testuser1"),

+ 1 - 0
kadmin/message_test.go

@@ -11,6 +11,7 @@ import (
 )
 
 func TestUnmarshalReply(t *testing.T) {
+	t.Parallel()
 	var a Reply
 	v := "Kpasswd_Rep"
 	b, err := hex.DecodeString(testdata.TestVectors[v])

+ 2 - 0
keytab/keytab_test.go

@@ -10,6 +10,7 @@ import (
 )
 
 func TestParse(t *testing.T) {
+	t.Parallel()
 	dat, _ := hex.DecodeString(testdata.TESTUSER1_KEYTAB)
 	kt, err := Parse(dat)
 	if err != nil {
@@ -28,6 +29,7 @@ func TestParse(t *testing.T) {
 }
 
 func TestMarshal(t *testing.T) {
+	t.Parallel()
 	dat, _ := hex.DecodeString(testdata.TESTUSER1_KEYTAB)
 	kt, err := Parse(dat)
 	if err != nil {

+ 3 - 0
messages/APRep_test.go

@@ -12,6 +12,7 @@ import (
 )
 
 func TestUnmarshalAPRep(t *testing.T) {
+	t.Parallel()
 	var a APRep
 	v := "encode_krb5_ap_rep"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -30,6 +31,7 @@ func TestUnmarshalAPRep(t *testing.T) {
 }
 
 func TestUnmarshalEncAPRepPart(t *testing.T) {
+	t.Parallel()
 	var a EncAPRepPart
 	v := "encode_krb5_ap_rep_enc_part"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -51,6 +53,7 @@ func TestUnmarshalEncAPRepPart(t *testing.T) {
 }
 
 func TestUnmarshalEncAPRepPart_optionalsNULL(t *testing.T) {
+	t.Parallel()
 	var a EncAPRepPart
 	v := "encode_krb5_ap_rep_enc_part(optionalsNULL)"
 	b, err := hex.DecodeString(testdata.TestVectors[v])

+ 2 - 0
messages/APReq_test.go

@@ -12,6 +12,7 @@ import (
 )
 
 func TestUnmarshalAPReq(t *testing.T) {
+	t.Parallel()
 	var a APReq
 	v := "encode_krb5_ap_req"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -36,6 +37,7 @@ func TestUnmarshalAPReq(t *testing.T) {
 }
 
 func TestMarshalAPReq(t *testing.T) {
+	t.Parallel()
 	var a APReq
 	v := "encode_krb5_ap_req"
 	b, err := hex.DecodeString(testdata.TestVectors[v])

+ 8 - 0
messages/KDCRep_test.go

@@ -26,6 +26,7 @@ const (
 )
 
 func TestUnmarshalASRep(t *testing.T) {
+	t.Parallel()
 	var a ASRep
 	v := "encode_krb5_as_rep"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -61,6 +62,7 @@ func TestUnmarshalASRep(t *testing.T) {
 }
 
 func TestUnmarshalASRep_optionalsNULL(t *testing.T) {
+	t.Parallel()
 	var a ASRep
 	v := "encode_krb5_as_rep(optionalsNULL)"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -92,6 +94,7 @@ func TestUnmarshalASRep_optionalsNULL(t *testing.T) {
 }
 
 func TestUnmarshalTGSRep(t *testing.T) {
+	t.Parallel()
 	var a TGSRep
 	v := "encode_krb5_tgs_rep"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -127,6 +130,7 @@ func TestUnmarshalTGSRep(t *testing.T) {
 }
 
 func TestUnmarshalTGSRep_optionalsNULL(t *testing.T) {
+	t.Parallel()
 	var a TGSRep
 	v := "encode_krb5_tgs_rep(optionalsNULL)"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -158,6 +162,7 @@ func TestUnmarshalTGSRep_optionalsNULL(t *testing.T) {
 }
 
 func TestUnmarshalEncKDCRepPart(t *testing.T) {
+	t.Parallel()
 	var a EncKDCRepPart
 	v := "encode_krb5_enc_kdc_rep_part"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -196,6 +201,7 @@ func TestUnmarshalEncKDCRepPart(t *testing.T) {
 }
 
 func TestUnmarshalEncKDCRepPart_optionalsNULL(t *testing.T) {
+	t.Parallel()
 	var a EncKDCRepPart
 	v := "encode_krb5_enc_kdc_rep_part(optionalsNULL)"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -226,6 +232,7 @@ func TestUnmarshalEncKDCRepPart_optionalsNULL(t *testing.T) {
 }
 
 func TestUnmarshalASRepDecodeAndDecrypt(t *testing.T) {
+	t.Parallel()
 	var asRep ASRep
 	b, _ := hex.DecodeString(testuser1EType18ASREP)
 	err := asRep.Unmarshal(b)
@@ -272,6 +279,7 @@ func TestUnmarshalASRepDecodeAndDecrypt(t *testing.T) {
 }
 
 func TestUnmarshalASRepDecodeAndDecrypt_withPassword(t *testing.T) {
+	t.Parallel()
 	var asRep ASRep
 	b, _ := hex.DecodeString(testuser1EType18ASREP)
 	err := asRep.Unmarshal(b)

+ 12 - 5
messages/KDCReq_test.go

@@ -6,7 +6,6 @@ import (
 	"testing"
 	"time"
 
-	"github.com/jcmturner/gofork/encoding/asn1"
 	"github.com/stretchr/testify/assert"
 	"gopkg.in/jcmturner/gokrb5.v5/iana"
 	"gopkg.in/jcmturner/gokrb5.v5/iana/addrtype"
@@ -17,6 +16,7 @@ import (
 )
 
 func TestUnmarshalKDCReqBody(t *testing.T) {
+	t.Parallel()
 	var a KDCReqBody
 	v := "encode_krb5_kdc_req_body"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -65,6 +65,7 @@ func TestUnmarshalKDCReqBody(t *testing.T) {
 }
 
 func TestUnmarshalKDCReqBody_optionalsNULLexceptsecond_ticket(t *testing.T) {
+	t.Parallel()
 	var a KDCReqBody
 	v := "encode_krb5_kdc_req_body(optionalsNULLexceptsecond_ticket)"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -99,6 +100,7 @@ func TestUnmarshalKDCReqBody_optionalsNULLexceptsecond_ticket(t *testing.T) {
 }
 
 func TestUnmarshalKDCReqBody_optionalsNULLexceptserver(t *testing.T) {
+	t.Parallel()
 	var a KDCReqBody
 	v := "encode_krb5_kdc_req_body(optionalsNULLexceptserver)"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -126,6 +128,7 @@ func TestUnmarshalKDCReqBody_optionalsNULLexceptserver(t *testing.T) {
 }
 
 func TestUnmarshalASReq(t *testing.T) {
+	t.Parallel()
 	var a ASReq
 	v := "encode_krb5_as_req"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -181,6 +184,7 @@ func TestUnmarshalASReq(t *testing.T) {
 }
 
 func TestUnmarshalASReq_optionalsNULLexceptsecond_ticket(t *testing.T) {
+	t.Parallel()
 	var a ASReq
 	v := "encode_krb5_as_req(optionalsNULLexceptsecond_ticket)"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -218,6 +222,7 @@ func TestUnmarshalASReq_optionalsNULLexceptsecond_ticket(t *testing.T) {
 }
 
 func TestUnmarshalASReq_optionalsNULLexceptserver(t *testing.T) {
+	t.Parallel()
 	var a ASReq
 	v := "encode_krb5_as_req(optionalsNULLexceptserver)"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -248,6 +253,7 @@ func TestUnmarshalASReq_optionalsNULLexceptserver(t *testing.T) {
 }
 
 func TestUnmarshalTGSReq(t *testing.T) {
+	t.Parallel()
 	var a TGSReq
 	v := "encode_krb5_tgs_req"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -303,6 +309,7 @@ func TestUnmarshalTGSReq(t *testing.T) {
 }
 
 func TestUnmarshalTGSReq_optionalsNULLexceptsecond_ticket(t *testing.T) {
+	t.Parallel()
 	var a TGSReq
 	v := "encode_krb5_tgs_req(optionalsNULLexceptsecond_ticket)"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -340,6 +347,7 @@ func TestUnmarshalTGSReq_optionalsNULLexceptsecond_ticket(t *testing.T) {
 }
 
 func TestUnmarshalTGSReq_optionalsNULLexceptserver(t *testing.T) {
+	t.Parallel()
 	var a TGSReq
 	v := "encode_krb5_tgs_req(optionalsNULLexceptserver)"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -371,11 +379,8 @@ func TestUnmarshalTGSReq_optionalsNULLexceptserver(t *testing.T) {
 
 //// Marshal Tests ////
 
-type BitStringStruct struct {
-	Bs asn1.BitString `asn1:"explicit,tag:0"`
-}
-
 func TestMarshalKDCReqBody(t *testing.T) {
+	t.Parallel()
 	var a KDCReqBody
 	v := "encode_krb5_kdc_req_body"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -395,6 +400,7 @@ func TestMarshalKDCReqBody(t *testing.T) {
 }
 
 func TestMarshalASReq(t *testing.T) {
+	t.Parallel()
 	var a ASReq
 	v := "encode_krb5_as_req"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -413,6 +419,7 @@ func TestMarshalASReq(t *testing.T) {
 }
 
 func TestMarshalTGSReq(t *testing.T) {
+	t.Parallel()
 	var a TGSReq
 	v := "encode_krb5_tgs_req"
 	b, err := hex.DecodeString(testdata.TestVectors[v])

+ 3 - 0
messages/KRBCred_test.go

@@ -15,6 +15,7 @@ import (
 )
 
 func TestUnmarshalKRBCred(t *testing.T) {
+	t.Parallel()
 	var a KRBCred
 	v := "encode_krb5_cred"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -44,6 +45,7 @@ func TestUnmarshalKRBCred(t *testing.T) {
 }
 
 func TestUnmarshalEncCredPart(t *testing.T) {
+	t.Parallel()
 	var a EncKrbCredPart
 	v := "encode_krb5_enc_cred_part"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -89,6 +91,7 @@ func TestUnmarshalEncCredPart(t *testing.T) {
 }
 
 func TestUnmarshalEncCredPart_optionalsNULL(t *testing.T) {
+	t.Parallel()
 	var a EncKrbCredPart
 	v := "encode_krb5_enc_cred_part(optionalsNULL)"
 	b, err := hex.DecodeString(testdata.TestVectors[v])

+ 2 - 0
messages/KRBError_test.go

@@ -14,6 +14,7 @@ import (
 )
 
 func TestUnmarshalKRBError(t *testing.T) {
+	t.Parallel()
 	var a KRBError
 	v := "encode_krb5_error"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -47,6 +48,7 @@ func TestUnmarshalKRBError(t *testing.T) {
 }
 
 func TestUnmarshalKRBError_optionalsNULL(t *testing.T) {
+	t.Parallel()
 	var a KRBError
 	v := "encode_krb5_error(optionalsNULL)"
 	b, err := hex.DecodeString(testdata.TestVectors[v])

+ 5 - 0
messages/KRBPriv_test.go

@@ -14,6 +14,7 @@ import (
 )
 
 func TestUnmarshalKRBPriv(t *testing.T) {
+	t.Parallel()
 	var a KRBPriv
 	v := "encode_krb5_priv"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -32,6 +33,7 @@ func TestUnmarshalKRBPriv(t *testing.T) {
 }
 
 func TestUnmarshalEncPrivPart(t *testing.T) {
+	t.Parallel()
 	var a EncKrbPrivPart
 	v := "encode_krb5_enc_priv_part"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -56,6 +58,7 @@ func TestUnmarshalEncPrivPart(t *testing.T) {
 }
 
 func TestUnmarshalEncPrivPart_optionalsNULL(t *testing.T) {
+	t.Parallel()
 	var a EncKrbPrivPart
 	v := "encode_krb5_enc_priv_part(optionalsNULL)"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -72,6 +75,7 @@ func TestUnmarshalEncPrivPart_optionalsNULL(t *testing.T) {
 }
 
 func TestMarshalKRBPriv(t *testing.T) {
+	t.Parallel()
 	var a KRBPriv
 	v := "encode_krb5_priv"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -105,6 +109,7 @@ func TestMarshalKRBPriv(t *testing.T) {
 }
 
 func TestKRBPriv_EncryptEncPart(t *testing.T) {
+	t.Parallel()
 	var a KRBPriv
 	v := "encode_krb5_priv"
 	b, err := hex.DecodeString(testdata.TestVectors[v])

+ 2 - 0
messages/KRBSafe_test.go

@@ -13,6 +13,7 @@ import (
 )
 
 func TestUnmarshalKRBSafe(t *testing.T) {
+	t.Parallel()
 	var a KRBSafe
 	v := "encode_krb5_safe"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -41,6 +42,7 @@ func TestUnmarshalKRBSafe(t *testing.T) {
 }
 
 func TestUnmarshalKRBSafe_optionalsNULL(t *testing.T) {
+	t.Parallel()
 	var a KRBSafe
 	v := "encode_krb5_safe(optionalsNULL)"
 	b, err := hex.DecodeString(testdata.TestVectors[v])

+ 5 - 0
messages/Ticket_test.go

@@ -18,6 +18,7 @@ import (
 )
 
 func TestUnmarshalTicket(t *testing.T) {
+	t.Parallel()
 	var a Ticket
 	v := "encode_krb5_ticket"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -40,6 +41,7 @@ func TestUnmarshalTicket(t *testing.T) {
 }
 
 func TestUnmarshalEncTicketPart(t *testing.T) {
+	t.Parallel()
 	var a EncTicketPart
 	v := "encode_krb5_enc_tkt_part"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -77,6 +79,7 @@ func TestUnmarshalEncTicketPart(t *testing.T) {
 }
 
 func TestUnmarshalEncTicketPart_optionalsNULL(t *testing.T) {
+	t.Parallel()
 	var a EncTicketPart
 	v := "encode_krb5_enc_tkt_part(optionalsNULL)"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -103,6 +106,7 @@ func TestUnmarshalEncTicketPart_optionalsNULL(t *testing.T) {
 }
 
 func TestMarshalTicket(t *testing.T) {
+	t.Parallel()
 	var a Ticket
 	v := "encode_krb5_ticket"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -121,6 +125,7 @@ func TestMarshalTicket(t *testing.T) {
 }
 
 func TestAuthorizationData_GetPACType_GOKRB5TestData(t *testing.T) {
+	t.Parallel()
 	v := "PAC_AuthorizationData_GOKRB5"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
 	if err != nil {

+ 1 - 0
mstypes/filetime_test.go

@@ -7,6 +7,7 @@ import (
 )
 
 func TestFileTime(t *testing.T) {
+	t.Parallel()
 	//2007-02-22 17:00:01.6382155
 	tt := time.Date(2007, 2, 22, 17, 0, 1, 638215500, time.UTC)
 	ft := GetFileTime(tt)

+ 1 - 0
pac/client_info_test.go

@@ -10,6 +10,7 @@ import (
 )
 
 func TestPAC_ClientInfo_Unmarshal(t *testing.T) {
+	t.Parallel()
 	b, err := hex.DecodeString(testdata.TestVectors["PAC_Client_Info"])
 	if err != nil {
 		t.Fatal("Could not decode test data hex string")

+ 1 - 0
pac/kerb_validation_info_test.go

@@ -11,6 +11,7 @@ import (
 )
 
 func TestKerbValidationInfo_Unmarshal(t *testing.T) {
+	t.Parallel()
 	b, err := hex.DecodeString(testdata.TestVectors["PAC_Kerb_Validation_Info_MS"])
 	if err != nil {
 		t.Fatal("Could not decode test data hex string")

+ 1 - 0
pac/pac_type_test.go

@@ -11,6 +11,7 @@ import (
 )
 
 func TestPACTypeValidate(t *testing.T) {
+	t.Parallel()
 	v := "PAC_AD_WIN2K_PAC"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
 	if err != nil {

+ 2 - 0
pac/signature_data_test.go

@@ -10,6 +10,7 @@ import (
 )
 
 func TestPAC_SignatureData_Unmarshal_Server_Signature(t *testing.T) {
+	t.Parallel()
 	b, err := hex.DecodeString(testdata.TestVectors["PAC_Server_Signature"])
 	if err != nil {
 		t.Fatal("Could not decode test data hex string")
@@ -28,6 +29,7 @@ func TestPAC_SignatureData_Unmarshal_Server_Signature(t *testing.T) {
 }
 
 func TestPAC_SignatureData_Unmarshal_KDC_Signature(t *testing.T) {
+	t.Parallel()
 	b, err := hex.DecodeString(testdata.TestVectors["PAC_KDC_Signature"])
 	if err != nil {
 		t.Fatal("Could not decode test data hex string")

+ 1 - 0
pac/upn_dns_info_test.go

@@ -9,6 +9,7 @@ import (
 )
 
 func TestUPN_DNSInfo_Unmarshal(t *testing.T) {
+	t.Parallel()
 	b, err := hex.DecodeString(testdata.TestVectors["PAC_UPN_DNS_Info"])
 	if err != nil {
 		t.Fatal("Could not decode test data hex string")

+ 7 - 0
service/APExchange_test.go

@@ -19,6 +19,7 @@ import (
 )
 
 func TestValidateAPREQ(t *testing.T) {
+	t.Parallel()
 	cl := getClient()
 	sname := types.PrincipalName{
 		NameType:   nametype.KRB_NT_PRINCIPAL,
@@ -57,6 +58,7 @@ func TestValidateAPREQ(t *testing.T) {
 }
 
 func TestValidateAPREQ_KRB_AP_ERR_BADMATCH(t *testing.T) {
+	t.Parallel()
 	cl := getClient()
 	sname := types.PrincipalName{
 		NameType:   nametype.KRB_NT_PRINCIPAL,
@@ -105,6 +107,7 @@ func TestValidateAPREQ_KRB_AP_ERR_BADMATCH(t *testing.T) {
 }
 
 func TestValidateAPREQ_LargeClockSkew(t *testing.T) {
+	t.Parallel()
 	cl := getClient()
 	sname := types.PrincipalName{
 		NameType:   nametype.KRB_NT_PRINCIPAL,
@@ -150,6 +153,7 @@ func TestValidateAPREQ_LargeClockSkew(t *testing.T) {
 }
 
 func TestValidateAPREQ_Replay(t *testing.T) {
+	t.Parallel()
 	cl := getClient()
 	sname := types.PrincipalName{
 		NameType:   nametype.KRB_NT_PRINCIPAL,
@@ -195,6 +199,7 @@ func TestValidateAPREQ_Replay(t *testing.T) {
 }
 
 func TestValidateAPREQ_FutureTicket(t *testing.T) {
+	t.Parallel()
 	cl := getClient()
 	sname := types.PrincipalName{
 		NameType:   nametype.KRB_NT_PRINCIPAL,
@@ -239,6 +244,7 @@ func TestValidateAPREQ_FutureTicket(t *testing.T) {
 }
 
 func TestValidateAPREQ_InvalidTicket(t *testing.T) {
+	t.Parallel()
 	cl := getClient()
 	sname := types.PrincipalName{
 		NameType:   nametype.KRB_NT_PRINCIPAL,
@@ -284,6 +290,7 @@ func TestValidateAPREQ_InvalidTicket(t *testing.T) {
 }
 
 func TestValidateAPREQ_ExpiredTicket(t *testing.T) {
+	t.Parallel()
 	cl := getClient()
 	sname := types.PrincipalName{
 		NameType:   nametype.KRB_NT_PRINCIPAL,

+ 1 - 0
service/authenticator_test.go

@@ -8,6 +8,7 @@ import (
 )
 
 func TestImplementsInterface(t *testing.T) {
+	t.Parallel()
 	//s := new(SPNEGOAuthenticator)
 	var s SPNEGOAuthenticator
 	a := new(goidentity.Authenticator)

+ 4 - 0
types/Authenticator_test.go

@@ -27,6 +27,7 @@ func unmarshalAuthenticatorTest(t *testing.T, v string) Authenticator {
 	return a
 }
 func TestUnmarshalAuthenticator(t *testing.T) {
+	t.Parallel()
 	a := unmarshalAuthenticatorTest(t, "encode_krb5_authenticator")
 	//Parse the test time value into a time.Time type
 	tt, _ := time.Parse(testdata.TEST_TIME_FORMAT, testdata.TEST_TIME)
@@ -50,6 +51,7 @@ func TestUnmarshalAuthenticator(t *testing.T) {
 }
 
 func TestUnmarshalAuthenticator_optionalsempty(t *testing.T) {
+	t.Parallel()
 	a := unmarshalAuthenticatorTest(t, "encode_krb5_authenticator(optionalsempty)")
 	//Parse the test time value into a time.Time type
 	tt, _ := time.Parse(testdata.TEST_TIME_FORMAT, testdata.TEST_TIME)
@@ -64,6 +66,7 @@ func TestUnmarshalAuthenticator_optionalsempty(t *testing.T) {
 }
 
 func TestUnmarshalAuthenticator_optionalsNULL(t *testing.T) {
+	t.Parallel()
 	a := unmarshalAuthenticatorTest(t, "encode_krb5_authenticator(optionalsNULL)")
 	//Parse the test time value into a time.Time type
 	tt, _ := time.Parse(testdata.TEST_TIME_FORMAT, testdata.TEST_TIME)
@@ -78,6 +81,7 @@ func TestUnmarshalAuthenticator_optionalsNULL(t *testing.T) {
 }
 
 func TestMarshalAuthenticator(t *testing.T) {
+	t.Parallel()
 	var a Authenticator
 	v := "encode_krb5_authenticator"
 	b, err := hex.DecodeString(testdata.TestVectors[v])

+ 2 - 0
types/AuthorizationData_test.go

@@ -12,6 +12,7 @@ import (
 )
 
 func TestUnmarshalAuthorizationData(t *testing.T) {
+	t.Parallel()
 	var a AuthorizationData
 	v := "encode_krb5_authorization_data"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -30,6 +31,7 @@ func TestUnmarshalAuthorizationData(t *testing.T) {
 }
 
 func TestUnmarshalAuthorizationData_kdcissued(t *testing.T) {
+	t.Parallel()
 	var a ADKDCIssued
 	v := "encode_krb5_ad_kdcissued"
 	b, err := hex.DecodeString(testdata.TestVectors[v])

+ 5 - 0
types/Cryptosystem_test.go

@@ -10,6 +10,7 @@ import (
 )
 
 func TestUnmarshalEncryptedData(t *testing.T) {
+	t.Parallel()
 	var a EncryptedData
 	v := "encode_krb5_enc_data"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -26,6 +27,7 @@ func TestUnmarshalEncryptedData(t *testing.T) {
 }
 
 func TestUnmarshalEncryptedData_MSBsetkvno(t *testing.T) {
+	t.Parallel()
 	var a EncryptedData
 	v := "encode_krb5_enc_data(MSB-setkvno)"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -42,6 +44,7 @@ func TestUnmarshalEncryptedData_MSBsetkvno(t *testing.T) {
 }
 
 func TestUnmarshalEncryptedData_kvno_neg1(t *testing.T) {
+	t.Parallel()
 	var a EncryptedData
 	v := "encode_krb5_enc_data(kvno= -1)"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -58,6 +61,7 @@ func TestUnmarshalEncryptedData_kvno_neg1(t *testing.T) {
 }
 
 func TestUnmarshalEncryptionKey(t *testing.T) {
+	t.Parallel()
 	var a EncryptionKey
 	v := "encode_krb5_keyblock"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -73,6 +77,7 @@ func TestUnmarshalEncryptionKey(t *testing.T) {
 }
 
 func TestMarshalEncryptedData(t *testing.T) {
+	t.Parallel()
 	var a EncryptedData
 	v := "encode_krb5_enc_data"
 	b, err := hex.DecodeString(testdata.TestVectors[v])

+ 3 - 0
types/KerberosFlags_test.go

@@ -8,6 +8,7 @@ import (
 )
 
 func TestKerberosFlags_SetFlag(t *testing.T) {
+	t.Parallel()
 	b := []byte{byte(64), byte(0), byte(0), byte(16)}
 	var f asn1.BitString
 	SetFlag(&f, flags.Forwardable)
@@ -16,6 +17,7 @@ func TestKerberosFlags_SetFlag(t *testing.T) {
 }
 
 func TestKerberosFlags_UnsetFlag(t *testing.T) {
+	t.Parallel()
 	b := []byte{byte(64), byte(0), byte(0), byte(0)}
 	var f asn1.BitString
 	SetFlag(&f, flags.Forwardable)
@@ -25,6 +27,7 @@ func TestKerberosFlags_UnsetFlag(t *testing.T) {
 }
 
 func TestKerberosFlags_IsFlagSet(t *testing.T) {
+	t.Parallel()
 	var f asn1.BitString
 	SetFlag(&f, flags.Forwardable)
 	SetFlag(&f, flags.RenewableOK)

+ 9 - 0
types/PAData_test.go

@@ -12,6 +12,7 @@ import (
 )
 
 func TestUnmarshalPADataSequence(t *testing.T) {
+	t.Parallel()
 	var a PADataSequence
 	v := "encode_krb5_padata_sequence"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -30,6 +31,7 @@ func TestUnmarshalPADataSequence(t *testing.T) {
 }
 
 func TestUnmarshalPADataSequence_empty(t *testing.T) {
+	t.Parallel()
 	var a PADataSequence
 	v := "encode_krb5_padata_sequence(empty)"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -44,6 +46,7 @@ func TestUnmarshalPADataSequence_empty(t *testing.T) {
 }
 
 func TestUnmarshalPAEncTSEnc(t *testing.T) {
+	t.Parallel()
 	//Parse the test time value into a time.Time type
 	tt, _ := time.Parse(testdata.TEST_TIME_FORMAT, testdata.TEST_TIME)
 
@@ -62,6 +65,7 @@ func TestUnmarshalPAEncTSEnc(t *testing.T) {
 }
 
 func TestUnmarshalPAEncTSEnc_nousec(t *testing.T) {
+	t.Parallel()
 	//Parse the test time value into a time.Time type
 	tt, _ := time.Parse(testdata.TEST_TIME_FORMAT, testdata.TEST_TIME)
 
@@ -80,6 +84,7 @@ func TestUnmarshalPAEncTSEnc_nousec(t *testing.T) {
 }
 
 func TestUnmarshalETypeInfo(t *testing.T) {
+	t.Parallel()
 	var a ETypeInfo
 	v := "encode_krb5_etype_info"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -100,6 +105,7 @@ func TestUnmarshalETypeInfo(t *testing.T) {
 }
 
 func TestUnmarshalETypeInfo_only1(t *testing.T) {
+	t.Parallel()
 	var a ETypeInfo
 	v := "encode_krb5_etype_info(only1)"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -116,6 +122,7 @@ func TestUnmarshalETypeInfo_only1(t *testing.T) {
 }
 
 func TestUnmarshalETypeInfo_noinfo(t *testing.T) {
+	t.Parallel()
 	var a ETypeInfo
 	v := "encode_krb5_etype_info(noinfo)"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -130,6 +137,7 @@ func TestUnmarshalETypeInfo_noinfo(t *testing.T) {
 }
 
 func TestUnmarshalETypeInfo2(t *testing.T) {
+	t.Parallel()
 	var a ETypeInfo2
 	v := "encode_krb5_etype_info2"
 	b, err := hex.DecodeString(testdata.TestVectors[v])
@@ -153,6 +161,7 @@ func TestUnmarshalETypeInfo2(t *testing.T) {
 }
 
 func TestUnmarshalETypeInfo2_only1(t *testing.T) {
+	t.Parallel()
 	var a ETypeInfo2
 	v := "encode_krb5_etype_info2(only1)"
 	b, err := hex.DecodeString(testdata.TestVectors[v])

+ 1 - 0
types/PrincipalName_test.go

@@ -6,6 +6,7 @@ import (
 )
 
 func TestPrincipalName_GetSalt(t *testing.T) {
+	t.Parallel()
 	pn := PrincipalName{
 		NameType:   1,
 		NameString: []string{"firststring", "secondstring"},

+ 1 - 0
types/TypedData_test.go

@@ -11,6 +11,7 @@ import (
 )
 
 func TestUnmarshalTypedData(t *testing.T) {
+	t.Parallel()
 	var a TypedDataSequence
 	v := "encode_krb5_typed_data"
 	b, err := hex.DecodeString(testdata.TestVectors[v])