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
1ddc537c
Commit
1ddc537c
authored
Oct 15, 2012
by
Vicent Martí
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #969 from ben/network_category
Test category for live network tests
parents
7ae5ab56
86a2da6e
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
81 additions
and
67 deletions
+81
-67
tests-clar/clone/network.c
+74
-0
tests-clar/clone/nonetwork.c
+7
-67
No files found.
tests-clar/clone/network.c
0 → 100644
View file @
1ddc537c
#include "clar_libgit2.h"
#include "git2/clone.h"
#include "repository.h"
CL_IN_CATEGORY
(
"network"
)
#define LIVE_REPO_URL "git://github.com/libgit2/TestGitRepository"
#define LIVE_EMPTYREPO_URL "git://github.com/libgit2/TestEmptyRepository"
static
git_repository
*
g_repo
;
void
test_clone_network__initialize
(
void
)
{
g_repo
=
NULL
;
}
static
void
cleanup_repository
(
void
*
path
)
{
if
(
g_repo
)
git_repository_free
(
g_repo
);
cl_fixture_cleanup
((
const
char
*
)
path
);
}
void
test_clone_network__network_full
(
void
)
{
git_remote
*
origin
;
cl_set_cleanup
(
&
cleanup_repository
,
"./test2"
);
cl_git_pass
(
git_clone
(
&
g_repo
,
LIVE_REPO_URL
,
"./test2"
,
NULL
,
NULL
,
NULL
));
cl_assert
(
!
git_repository_is_bare
(
g_repo
));
cl_git_pass
(
git_remote_load
(
&
origin
,
g_repo
,
"origin"
));
}
void
test_clone_network__network_bare
(
void
)
{
git_remote
*
origin
;
cl_set_cleanup
(
&
cleanup_repository
,
"./test"
);
cl_git_pass
(
git_clone_bare
(
&
g_repo
,
LIVE_REPO_URL
,
"./test"
,
NULL
));
cl_assert
(
git_repository_is_bare
(
g_repo
));
cl_git_pass
(
git_remote_load
(
&
origin
,
g_repo
,
"origin"
));
}
void
test_clone_network__cope_with_already_existing_directory
(
void
)
{
cl_set_cleanup
(
&
cleanup_repository
,
"./foo"
);
p_mkdir
(
"./foo"
,
GIT_DIR_MODE
);
cl_git_pass
(
git_clone
(
&
g_repo
,
LIVE_REPO_URL
,
"./foo"
,
NULL
,
NULL
,
NULL
));
git_repository_free
(
g_repo
);
g_repo
=
NULL
;
}
void
test_clone_network__empty_repository
(
void
)
{
git_reference
*
head
;
cl_set_cleanup
(
&
cleanup_repository
,
"./empty"
);
cl_git_pass
(
git_clone
(
&
g_repo
,
LIVE_EMPTYREPO_URL
,
"./empty"
,
NULL
,
NULL
,
NULL
));
cl_assert_equal_i
(
true
,
git_repository_is_empty
(
g_repo
));
cl_assert_equal_i
(
true
,
git_repository_head_orphan
(
g_repo
));
cl_git_pass
(
git_reference_lookup
(
&
head
,
g_repo
,
GIT_HEAD_FILE
));
cl_assert_equal_i
(
GIT_REF_SYMBOLIC
,
git_reference_type
(
head
));
cl_assert_equal_s
(
"refs/heads/master"
,
git_reference_target
(
head
));
git_reference_free
(
head
);
}
tests-clar/clone/
clone
.c
→
tests-clar/clone/
nonetwork
.c
View file @
1ddc537c
...
...
@@ -4,14 +4,11 @@
#include "repository.h"
#define DO_LOCAL_TEST 0
#define DO_LIVE_NETWORK_TESTS 0
#define LIVE_REPO_URL "git://github.com/nulltoken/TestGitRepository"
#define LIVE_EMPTYREPO_URL "git://github.com/nulltoken/TestEmptyRepository"
#define LIVE_REPO_URL "git://github.com/libgit2/TestGitRepository"
static
git_repository
*
g_repo
;
void
test_clone_
clone
__initialize
(
void
)
void
test_clone_
nonetwork
__initialize
(
void
)
{
g_repo
=
NULL
;
}
...
...
@@ -63,7 +60,7 @@ static void build_local_file_url(git_buf *out, const char *fixture)
git_buf_free
(
&
path_buf
);
}
void
test_clone_
clone
__bad_url
(
void
)
void
test_clone_
nonetwork
__bad_url
(
void
)
{
/* Clone should clean up the mess if the URL isn't a git repository */
cl_git_fail
(
git_clone
(
&
g_repo
,
"not_a_repo"
,
"./foo"
,
NULL
,
NULL
,
NULL
));
...
...
@@ -72,7 +69,7 @@ void test_clone_clone__bad_url(void)
cl_assert
(
!
git_path_exists
(
"./foo.git"
));
}
void
test_clone_
clone
__local
(
void
)
void
test_clone_
nonetwork
__local
(
void
)
{
git_buf
src
=
GIT_BUF_INIT
;
build_local_file_url
(
&
src
,
cl_fixture
(
"testrepo.git"
));
...
...
@@ -86,7 +83,7 @@ void test_clone_clone__local(void)
git_buf_free
(
&
src
);
}
void
test_clone_
clone
__local_bare
(
void
)
void
test_clone_
nonetwork
__local_bare
(
void
)
{
git_buf
src
=
GIT_BUF_INIT
;
build_local_file_url
(
&
src
,
cl_fixture
(
"testrepo.git"
));
...
...
@@ -100,44 +97,7 @@ void test_clone_clone__local_bare(void)
git_buf_free
(
&
src
);
}
void
test_clone_clone__network_full
(
void
)
{
#if DO_LIVE_NETWORK_TESTS
git_remote
*
origin
;
cl_set_cleanup
(
&
cleanup_repository
,
"./test2"
);
cl_git_pass
(
git_clone
(
&
g_repo
,
LIVE_REPO_URL
,
"./test2"
,
NULL
,
NULL
,
NULL
));
cl_assert
(
!
git_repository_is_bare
(
g_repo
));
cl_git_pass
(
git_remote_load
(
&
origin
,
g_repo
,
"origin"
));
#endif
}
void
test_clone_clone__network_bare
(
void
)
{
#if DO_LIVE_NETWORK_TESTS
git_remote
*
origin
;
cl_set_cleanup
(
&
cleanup_repository
,
"./test"
);
cl_git_pass
(
git_clone_bare
(
&
g_repo
,
LIVE_REPO_URL
,
"./test"
,
NULL
));
cl_assert
(
git_repository_is_bare
(
g_repo
));
cl_git_pass
(
git_remote_load
(
&
origin
,
g_repo
,
"origin"
));
#endif
}
void
test_clone_clone__cope_with_already_existing_directory
(
void
)
{
#if DO_LIVE_NETWORK_TESTS
cl_set_cleanup
(
&
cleanup_repository
,
"./foo"
);
p_mkdir
(
"./foo"
,
GIT_DIR_MODE
);
cl_git_pass
(
git_clone
(
&
g_repo
,
LIVE_REPO_URL
,
"./foo"
,
NULL
,
NULL
,
NULL
));
git_repository_free
(
g_repo
);
g_repo
=
NULL
;
#endif
}
void
test_clone_clone__fail_when_the_target_is_a_file
(
void
)
void
test_clone_nonetwork__fail_when_the_target_is_a_file
(
void
)
{
cl_set_cleanup
(
&
cleanup_repository
,
"./foo"
);
...
...
@@ -145,7 +105,7 @@ void test_clone_clone__fail_when_the_target_is_a_file(void)
cl_git_fail
(
git_clone
(
&
g_repo
,
LIVE_REPO_URL
,
"./foo"
,
NULL
,
NULL
,
NULL
));
}
void
test_clone_
clone
__fail_with_already_existing_but_non_empty_directory
(
void
)
void
test_clone_
nonetwork
__fail_with_already_existing_but_non_empty_directory
(
void
)
{
cl_set_cleanup
(
&
cleanup_repository
,
"./foo"
);
...
...
@@ -153,23 +113,3 @@ void test_clone_clone__fail_with_already_existing_but_non_empty_directory(void)
cl_git_mkfile
(
"./foo/bar"
,
"Baz!"
);
cl_git_fail
(
git_clone
(
&
g_repo
,
LIVE_REPO_URL
,
"./foo"
,
NULL
,
NULL
,
NULL
));
}
void
test_clone_clone__empty_repository
(
void
)
{
#if DO_LIVE_NETWORK_TESTS
git_reference
*
head
;
cl_set_cleanup
(
&
cleanup_repository
,
"./empty"
);
cl_git_pass
(
git_clone
(
&
g_repo
,
LIVE_EMPTYREPO_URL
,
"./empty"
,
NULL
,
NULL
,
NULL
));
cl_assert_equal_i
(
true
,
git_repository_is_empty
(
g_repo
));
cl_assert_equal_i
(
true
,
git_repository_head_orphan
(
g_repo
));
cl_git_pass
(
git_reference_lookup
(
&
head
,
g_repo
,
GIT_HEAD_FILE
));
cl_assert_equal_i
(
GIT_REF_SYMBOLIC
,
git_reference_type
(
head
));
cl_assert_equal_s
(
"refs/heads/master"
,
git_reference_target
(
head
));
git_reference_free
(
head
);
#endif
}
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