You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.9 KiB
Bash
69 lines
1.9 KiB
Bash
14 years ago
|
#!/bin/bash
|
||
|
|
||
|
set -e
|
||
|
|
||
|
. ./test-lib.sh
|
||
|
|
||
|
setup_initgit
|
||
|
setup_gitgit
|
||
|
|
||
|
(
|
||
|
set -e
|
||
|
cd git-git
|
||
|
git checkout -q --track -b work origin
|
||
|
echo "some work done on a branch" >> test
|
||
|
git add test; git commit -q -m "branch work"
|
||
|
echo "some other work done on a branch" >> test
|
||
|
git add test; git commit -q -m "branch work"
|
||
|
|
||
|
test_expect_success "git-cl upload wants a server" \
|
||
|
"$GIT_CL upload 2>&1 | grep -q 'You must configure'"
|
||
|
|
||
|
git config rietveld.server localhost:8080
|
||
|
|
||
|
test_expect_success "git-cl status has no issue" \
|
||
|
"$GIT_CL status | grep -q 'no issue'"
|
||
|
|
||
|
# Prevent the editor from coming up when you upload.
|
||
|
export EDITOR=$(which true)
|
||
|
test_expect_success "upload succeeds (needs a server running on localhost)" \
|
||
14 years ago
|
"$GIT_CL upload -m test master | grep -q 'Issue created'"
|
||
14 years ago
|
|
||
|
test_expect_success "git-cl status now knows the issue" \
|
||
|
"$GIT_CL status | grep -q 'Issue number'"
|
||
|
|
||
|
# Push a description to this URL.
|
||
|
URL=$($GIT_CL status | sed -ne '/Issue number/s/[^(]*(\(.*\))/\1/p')
|
||
|
curl --cookie dev_appserver_login="test@example.com:False" \
|
||
|
--data-urlencode subject="test" \
|
||
|
--data-urlencode description="foo-quux" \
|
||
|
--data-urlencode xsrf_token="$(print_xsrf_token)" \
|
||
|
$URL/edit
|
||
|
|
||
|
test_expect_success "Base URL contains branch name" \
|
||
|
"curl -s $($GIT_CL status --field=url) | grep 'URL:' | grep -q '@master'"
|
||
|
|
||
|
test_expect_success "git-cl push ok" \
|
||
|
"$GIT_CL push -f"
|
||
|
|
||
|
git checkout -q master > /dev/null 2>&1
|
||
|
git pull -q > /dev/null 2>&1
|
||
|
|
||
|
test_expect_success "committed code has proper description" \
|
||
|
"git show | grep -q 'foo-quux'"
|
||
|
|
||
|
test_expect_success "issue no longer has a branch" \
|
||
|
"git cl status | grep -q 'work: None'"
|
||
|
|
||
|
cd $GITREPO_PATH
|
||
|
test_expect_success "upstream repo has our commit" \
|
||
|
"git log master 2>/dev/null | grep -q 'foo-quux'"
|
||
|
)
|
||
|
SUCCESS=$?
|
||
|
|
||
|
cleanup
|
||
|
|
||
|
if [ $SUCCESS == 0 ]; then
|
||
|
echo PASS
|
||
|
fi
|