Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
git2
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
git2
Commits
d5cf4665
Commit
d5cf4665
authored
Dec 19, 2012
by
Sascha Cunz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix some leaks and (possibly) dangling pointers in tests
Also adds some asserts.
parent
96a289f5
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
28 additions
and
4 deletions
+28
-4
tests-clar/diff/index.c
+5
-1
tests-clar/network/remotes.c
+23
-3
No files found.
tests-clar/diff/index.c
View file @
d5cf4665
...
@@ -146,18 +146,22 @@ void test_diff_index__checks_options_version(void)
...
@@ -146,18 +146,22 @@ void test_diff_index__checks_options_version(void)
const
char
*
a_commit
=
"26a125ee1bf"
;
const
char
*
a_commit
=
"26a125ee1bf"
;
git_tree
*
a
=
resolve_commit_oid_to_tree
(
g_repo
,
a_commit
);
git_tree
*
a
=
resolve_commit_oid_to_tree
(
g_repo
,
a_commit
);
git_diff_options
opts
=
GIT_DIFF_OPTIONS_INIT
;
git_diff_options
opts
=
GIT_DIFF_OPTIONS_INIT
;
git_diff_list
*
diff
;
git_diff_list
*
diff
=
NULL
;
const
git_error
*
err
;
const
git_error
*
err
;
opts
.
version
=
0
;
opts
.
version
=
0
;
cl_git_fail
(
git_diff_tree_to_index
(
&
diff
,
g_repo
,
a
,
NULL
,
&
opts
));
cl_git_fail
(
git_diff_tree_to_index
(
&
diff
,
g_repo
,
a
,
NULL
,
&
opts
));
err
=
giterr_last
();
err
=
giterr_last
();
cl_assert_equal_i
(
GITERR_INVALID
,
err
->
klass
);
cl_assert_equal_i
(
GITERR_INVALID
,
err
->
klass
);
cl_assert_equal_p
(
diff
,
NULL
);
giterr_clear
();
giterr_clear
();
opts
.
version
=
1024
;
opts
.
version
=
1024
;
cl_git_fail
(
git_diff_tree_to_index
(
&
diff
,
g_repo
,
a
,
NULL
,
&
opts
));
cl_git_fail
(
git_diff_tree_to_index
(
&
diff
,
g_repo
,
a
,
NULL
,
&
opts
));
err
=
giterr_last
();
err
=
giterr_last
();
cl_assert_equal_i
(
GITERR_INVALID
,
err
->
klass
);
cl_assert_equal_i
(
GITERR_INVALID
,
err
->
klass
);
cl_assert_equal_p
(
diff
,
NULL
);
git_tree_free
(
a
);
}
}
tests-clar/network/remotes.c
View file @
d5cf4665
...
@@ -172,6 +172,7 @@ void test_network_remotes__missing_refspecs(void)
...
@@ -172,6 +172,7 @@ void test_network_remotes__missing_refspecs(void)
git_config
*
cfg
;
git_config
*
cfg
;
git_remote_free
(
_remote
);
git_remote_free
(
_remote
);
_remote
=
NULL
;
cl_git_pass
(
git_repository_config
(
&
cfg
,
_repo
));
cl_git_pass
(
git_repository_config
(
&
cfg
,
_repo
));
cl_git_pass
(
git_config_set_string
(
cfg
,
"remote.specless.url"
,
"http://example.com"
));
cl_git_pass
(
git_config_set_string
(
cfg
,
"remote.specless.url"
,
"http://example.com"
));
...
@@ -200,11 +201,17 @@ void test_network_remotes__list(void)
...
@@ -200,11 +201,17 @@ void test_network_remotes__list(void)
void
test_network_remotes__loading_a_missing_remote_returns_ENOTFOUND
(
void
)
void
test_network_remotes__loading_a_missing_remote_returns_ENOTFOUND
(
void
)
{
{
git_remote_free
(
_remote
);
_remote
=
NULL
;
cl_assert_equal_i
(
GIT_ENOTFOUND
,
git_remote_load
(
&
_remote
,
_repo
,
"just-left-few-minutes-ago"
));
cl_assert_equal_i
(
GIT_ENOTFOUND
,
git_remote_load
(
&
_remote
,
_repo
,
"just-left-few-minutes-ago"
));
}
}
void
test_network_remotes__loading_with_an_invalid_name_returns_EINVALIDSPEC
(
void
)
void
test_network_remotes__loading_with_an_invalid_name_returns_EINVALIDSPEC
(
void
)
{
{
git_remote_free
(
_remote
);
_remote
=
NULL
;
cl_assert_equal_i
(
GIT_EINVALIDSPEC
,
git_remote_load
(
&
_remote
,
_repo
,
"Inv@{id"
));
cl_assert_equal_i
(
GIT_EINVALIDSPEC
,
git_remote_load
(
&
_remote
,
_repo
,
"Inv@{id"
));
}
}
...
@@ -220,8 +227,12 @@ void test_network_remotes__loading_with_an_invalid_name_returns_EINVALIDSPEC(voi
...
@@ -220,8 +227,12 @@ void test_network_remotes__loading_with_an_invalid_name_returns_EINVALIDSPEC(voi
void
test_network_remotes__add
(
void
)
void
test_network_remotes__add
(
void
)
{
{
git_remote_free
(
_remote
);
git_remote_free
(
_remote
);
_remote
=
NULL
;
cl_git_pass
(
git_remote_add
(
&
_remote
,
_repo
,
"addtest"
,
"http://github.com/libgit2/libgit2"
));
cl_git_pass
(
git_remote_add
(
&
_remote
,
_repo
,
"addtest"
,
"http://github.com/libgit2/libgit2"
));
git_remote_free
(
_remote
);
git_remote_free
(
_remote
);
_remote
=
NULL
;
cl_git_pass
(
git_remote_load
(
&
_remote
,
_repo
,
"addtest"
));
cl_git_pass
(
git_remote_load
(
&
_remote
,
_repo
,
"addtest"
));
_refspec
=
git_remote_fetchspec
(
_remote
);
_refspec
=
git_remote_fetchspec
(
_remote
);
...
@@ -252,28 +263,32 @@ void test_network_remotes__cannot_save_a_nameless_remote(void)
...
@@ -252,28 +263,32 @@ void test_network_remotes__cannot_save_a_nameless_remote(void)
void
test_network_remotes__cannot_add_a_remote_with_an_invalid_name
(
void
)
void
test_network_remotes__cannot_add_a_remote_with_an_invalid_name
(
void
)
{
{
git_remote
*
remote
;
git_remote
*
remote
=
NULL
;
cl_assert_equal_i
(
cl_assert_equal_i
(
GIT_EINVALIDSPEC
,
GIT_EINVALIDSPEC
,
git_remote_add
(
&
remote
,
_repo
,
"Inv@{id"
,
"git://github.com/libgit2/libgit2"
));
git_remote_add
(
&
remote
,
_repo
,
"Inv@{id"
,
"git://github.com/libgit2/libgit2"
));
cl_assert_equal_p
(
remote
,
NULL
);
cl_assert_equal_i
(
cl_assert_equal_i
(
GIT_EINVALIDSPEC
,
GIT_EINVALIDSPEC
,
git_remote_add
(
&
remote
,
_repo
,
""
,
"git://github.com/libgit2/libgit2"
));
git_remote_add
(
&
remote
,
_repo
,
""
,
"git://github.com/libgit2/libgit2"
));
cl_assert_equal_p
(
remote
,
NULL
);
}
}
void
test_network_remotes__cannot_initialize_a_remote_with_an_invalid_name
(
void
)
void
test_network_remotes__cannot_initialize_a_remote_with_an_invalid_name
(
void
)
{
{
git_remote
*
remote
;
git_remote
*
remote
=
NULL
;
cl_assert_equal_i
(
cl_assert_equal_i
(
GIT_EINVALIDSPEC
,
GIT_EINVALIDSPEC
,
git_remote_new
(
&
remote
,
_repo
,
"Inv@{id"
,
"git://github.com/libgit2/libgit2"
,
NULL
));
git_remote_new
(
&
remote
,
_repo
,
"Inv@{id"
,
"git://github.com/libgit2/libgit2"
,
NULL
));
cl_assert_equal_p
(
remote
,
NULL
);
cl_assert_equal_i
(
cl_assert_equal_i
(
GIT_EINVALIDSPEC
,
GIT_EINVALIDSPEC
,
git_remote_new
(
&
remote
,
_repo
,
""
,
"git://github.com/libgit2/libgit2"
,
NULL
));
git_remote_new
(
&
remote
,
_repo
,
""
,
"git://github.com/libgit2/libgit2"
,
NULL
));
cl_assert_equal_p
(
remote
,
NULL
);
}
}
void
test_network_remotes__tagopt
(
void
)
void
test_network_remotes__tagopt
(
void
)
...
@@ -302,10 +317,11 @@ void test_network_remotes__tagopt(void)
...
@@ -302,10 +317,11 @@ void test_network_remotes__tagopt(void)
void
test_network_remotes__cannot_load_with_an_empty_url
(
void
)
void
test_network_remotes__cannot_load_with_an_empty_url
(
void
)
{
{
git_remote
*
remote
;
git_remote
*
remote
=
NULL
;
cl_git_fail
(
git_remote_load
(
&
remote
,
_repo
,
"empty-remote-url"
));
cl_git_fail
(
git_remote_load
(
&
remote
,
_repo
,
"empty-remote-url"
));
cl_assert
(
giterr_last
()
->
klass
==
GITERR_INVALID
);
cl_assert
(
giterr_last
()
->
klass
==
GITERR_INVALID
);
cl_assert_equal_p
(
remote
,
NULL
);
}
}
void
test_network_remotes__check_structure_version
(
void
)
void
test_network_remotes__check_structure_version
(
void
)
...
@@ -314,6 +330,7 @@ void test_network_remotes__check_structure_version(void)
...
@@ -314,6 +330,7 @@ void test_network_remotes__check_structure_version(void)
const
git_error
*
err
;
const
git_error
*
err
;
git_remote_free
(
_remote
);
git_remote_free
(
_remote
);
_remote
=
NULL
;
cl_git_pass
(
git_remote_new
(
&
_remote
,
_repo
,
NULL
,
"test-protocol://localhost"
,
NULL
));
cl_git_pass
(
git_remote_new
(
&
_remote
,
_repo
,
NULL
,
"test-protocol://localhost"
,
NULL
));
transport
.
version
=
0
;
transport
.
version
=
0
;
...
@@ -330,6 +347,9 @@ void test_network_remotes__check_structure_version(void)
...
@@ -330,6 +347,9 @@ void test_network_remotes__check_structure_version(void)
void
test_network_remotes__dangling
(
void
)
void
test_network_remotes__dangling
(
void
)
{
{
git_remote_free
(
_remote
);
_remote
=
NULL
;
cl_git_pass
(
git_remote_new
(
&
_remote
,
NULL
,
"upstream"
,
"git://github.com/libgit2/libgit2"
,
NULL
));
cl_git_pass
(
git_remote_new
(
&
_remote
,
NULL
,
"upstream"
,
"git://github.com/libgit2/libgit2"
,
NULL
));
cl_git_pass
(
git_remote_rename
(
_remote
,
"newname"
,
NULL
,
NULL
));
cl_git_pass
(
git_remote_rename
(
_remote
,
"newname"
,
NULL
,
NULL
));
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment