From a8b53965b9d08e08e15bb97a1dd70193c99c225d Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Thu, 9 Jan 2020 12:02:01 +0300 Subject: add Travis tests --- .travis.yml | 8 ++++++ .travis/local/test.sh | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 .travis.yml create mode 100755 .travis/local/test.sh 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 < "$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 < "$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 -- cgit v1.2.3