git-upstream/functional-tests
Swapnil Kulkarni (coolsvap) 0414e5fef5 Update typos
Change-Id: Ife36f10944269d94ba33ed04e00db1667d60fc49
2015-12-30 10:50:43 +05:30
..
libs Rename hpgit to git-upstream, also changing its license 2014-03-03 14:32:26 +00:00
.gitignore Add functional test framework and some basic tests 2014-02-03 17:14:46 +00:00
010-test_version_check.sh Update typos 2015-12-30 10:50:43 +05:30
020-test_help.sh Update typos 2015-12-30 10:50:43 +05:30
030-test_no_local_changes.sh Update typos 2015-12-30 10:50:43 +05:30
040-test_simple_rebase.sh Update typos 2015-12-30 10:50:43 +05:30
050-test_supersede.sh Update typos 2015-12-30 10:50:43 +05:30
060-test_drop.sh Update typos 2015-12-30 10:50:43 +05:30
README.md Update typos 2015-12-30 10:50:43 +05:30
run_tests.sh Update typos 2015-12-30 10:50:43 +05:30
sample-test_name_here.sh Update typos 2015-12-30 10:50:43 +05:30

README.md

How to run functional tests

Just run

run_tests.sh

That script will install a virtual env with git-upstream (from the current repo clone) and will run every script which name match the following regex:

([0-9]{3})-test_(.+).sh

Order of execution is given by $1 and test name by $2.

It's also possible to run single tests creating a test directory and running

BASE_TEST_DIR=<your base test dir> 0xx-test_<your test name>.sh

But that will need a git-upstream executable in your path.

Creating more tests

Copy the following file

sample-test_name_here.sh

giving it a name that matches the aforementioned regexp.

Then edit the file defining a function that performs the actual test

function test_name1() {
  log DEBUG "Starting $TEST_NAME::$FUNCNAME"

  return 0
}

Leave rest of the code as it is.

Reference of global variables/functions available in this framework

logging.lib

set_verbority() Set verbosity level. Available verbosities are: "ERROR WARNING INFO DEBUG"

log() Print the given string, with a decoration, if current verbosity level is less or equal to the one passed as an argument.

utils.lib

TEST_DIR Testing directory. Objects pertaining a test should be created under that directory.

TEST_NAME The name of current test. Extracted from the test filename.

prepare_for_git_upstream() Using the current git-upstream repo, create an initial configuration useful for testing git-upstream. After invoking it a "$TEST_DIR/$REPO_NAME"

Environment variable used by the test framework

VERBOSITY Set tests verbosity. Valid verbosities are: "ERROR WARNING INFO DEBUG"

LEAVE_DIR If equals to "yes", testing framework won't remove testing directory. Useful for debugging and to inspect tests results.