From 62a16395b17460887747602a4184372a0c9a6d6f Mon Sep 17 00:00:00 2001 From: Carlos Martín Nieto Date: Fri, 8 Mar 2013 16:03:49 +0100 Subject: Oid: make sure not to dereference a NULL git_oid Some calls like Reference.Target() can return NULL if the reference is symbolic. Make sure newOidFromC() can handle these situations. --- reference_test.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'reference_test.go') diff --git a/reference_test.go b/reference_test.go index ba32d81..8043833 100644 --- a/reference_test.go +++ b/reference_test.go @@ -43,10 +43,22 @@ func TestRefModification(t *testing.T) { checkFatal(t, err) checkRefType(t, ref, SYMBOLIC) + if target := ref.Target(); target != nil { + t.Fatalf("Expected nil *Oid, got %v", target) + } + ref, err = ref.Resolve() checkFatal(t, err) checkRefType(t, ref, OID) + if target := ref.Target(); target == nil { + t.Fatalf("Expected valid target got nil") + } + + if target := ref.SymbolicTarget(); target != "" { + t.Fatalf("Expected empty string, got %v", target) + } + if commitId.String() != ref.Target().String() { t.Fatalf("Wrong ref target") } -- cgit v1.2.3