aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2020-01-09 12:02:01 +0300
committerEgor Tensin <Egor.Tensin@gmail.com>2020-01-09 13:35:37 +0300
commita8b53965b9d08e08e15bb97a1dd70193c99c225d (patch)
tree8c7363135d063ae9831d471da08816a9754c3818
parentignore *.pyc files (diff)
downloadcgitize-a8b53965b9d08e08e15bb97a1dd70193c99c225d.tar.gz
cgitize-a8b53965b9d08e08e15bb97a1dd70193c99c225d.zip
add Travis tests
Diffstat (limited to '')
-rw-r--r--.travis.yml8
-rwxr-xr-x.travis/local/test.sh80
2 files changed, 88 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..ac4d7fc
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,8 @@
+os: linux
+dist: bionic
+jobs:
+ include:
+ - name: Test locally
+ language: python
+ python: '3.6'
+ script: ./.travis/local/test.sh
diff --git a/.travis/local/test.sh b/.travis/local/test.sh
new file mode 100755
index 0000000..0f1166d
--- /dev/null
+++ b/.travis/local/test.sh
@@ -0,0 +1,80 @@
+#!/usr/bin/env bash
+
+set -o errexit -o nounset -o pipefail
+
+readonly local_repo_path="$HOME/test_repo"
+readonly cgit_repos_conf_path="$HOME/etc/cgit-repos/cgit-repos.conf"
+readonly my_repos_path="$HOME/etc/cgit-repos/my_repos.py"
+readonly output_path="$HOME/var/cgit-repos/output"
+
+setup_local_repo() {
+ mkdir -- "$local_repo_path"
+ pushd -- "$local_repo_path" > /dev/null
+ git init
+ echo '1' > 1.txt
+ git add .
+ git commit -m 'first commit'
+ echo '2' > 2.txt
+ git add .
+ git commit -m 'second commit'
+ popd > /dev/null
+}
+
+setup_cgit_repos_conf() {
+ local conf_dir
+ conf_dir="$( dirname -- "$cgit_repos_conf_path" )"
+ mkdir -p -- "$conf_dir"
+
+ cat <<EOF > "$cgit_repos_conf_path"
+[DEFAULT]
+
+my_repos = $my_repos_path
+output = $output_path
+EOF
+}
+
+setup_my_repos_py() {
+ local conf_dir
+ conf_dir="$( dirname -- "$my_repos_path" )"
+ mkdir -p -- "$conf_dir"
+
+ cat <<EOF > "$my_repos_path"
+from pull.repo import Repo
+
+
+MY_REPOS = (
+ Repo('test_repo', clone_url='$HOME/test_repo'),
+)
+EOF
+}
+
+setup_cgit_repos() {
+ setup_cgit_repos_conf
+ setup_my_repos_py
+}
+
+setup() {
+ setup_local_repo
+ setup_cgit_repos
+}
+
+run() {
+ python3 -m pull.main --config "$cgit_repos_conf_path"
+}
+
+verify() {
+ pushd -- "$output_path" > /dev/null
+
+ cd -- test_repo
+ git log --oneline
+
+ popd > /dev/null
+}
+
+main() {
+ setup
+ run
+ verify
+}
+
+main