aboutsummaryrefslogtreecommitdiffstats
path: root/tests/setup.sh
Commit message (Collapse)AuthorAgeLines
* t0111: Add basic tests for Lua filtersGravatar Lukas Fleischer2014-01-15-2/+11
| | | | | | | | | | | | | | | * Validate the email filter by manipulating stdin. Additional checks for all the arguments can be added in a later patch. * Add the exec prefix to all informational messages. * Rename the filter repository to filter-exec. The Git repository itself is not renamed since it can be shared amongst all filter types. * In the filter checks, check whether all arguments are passed properly instead of validating the buffer/stdin only. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
* tests/: Add t0111-filter.shGravatar Lukas Fleischer2014-01-14-0/+13
| | | | | | This adds basic tests for all types of exec filters. Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
* tests: add Valgrind supportGravatar John Keeping2014-01-13-1/+36
| | | | | | | Now running tests with the "--valgrind" option will run cgit under Valgrind instead of all Git commands. Signed-off-by: John Keeping <john@keeping.me.uk>
* tests: introduce strip_header() helper functionGravatar John Keeping2013-05-22-0/+8
| | | | | | | | This means that we can avoid hardcoding the number of headers we expect CGit to generate in test cases and simply remove whatever headers happen to by there when we are checking body content. Signed-off-by: John Keeping <john@keeping.me.uk>
* tests: set TEST_OUTPUT_DIRECTORY to the CGit test directoryGravatar John Keeping2013-04-15-0/+1
| | | | | | | | | | | | | | | By default, Git's test suite puts the trash directories and test-results directory into its own directory, not that containing the tests being run. This is less convenient for inspecting test failures, so set the output directory to CGit's tests/ directory instead. Note that there is currently a bug in Git whereby it will create the trash directories in our tests/ directory regardless of the value of TEST_OUTPUT_DIRECTORY, and then fail to remove them once the tests are done. This change does currently affect the location of the test-results/ directory though. Signed-off-by: John Keeping <john@keeping.me.uk>
* tests: use Git's test frameworkGravatar John Keeping2013-04-09-89/+41
| | | | | | | | | | | | This allows tests to run in parallel as well as letting us use "prove" or another TAP harness to run the tests. Git's test framework requires Git to be fully built before letting any tests run, so add a new target to the top-level Makefile which builds all of Git instead of just libgit.a and make the "test" target depend on that. Signed-off-by: John Keeping <john@keeping.me.uk>
* Merge branch 'stable'Gravatar Lars Hjemli2012-03-19-2/+2
|\
| * tests: properly quote arguments to printfGravatar Ferry Huberts2012-03-18-1/+1
| | | | | | | | | | | | v2: incorporate remarks of Lukas Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
| * tests: handle paths with whitespaceGravatar Ferry Huberts2012-03-18-1/+1
| | | | | | | | | | | | v2: incorporate remarks of Lukas Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
* | Merge branch 'stable'Gravatar Lars Hjemli2011-07-21-0/+1
|\ \ | |/
| * tests: fix failures when CDPATH is setGravatar Ferry Huberts2011-07-21-0/+1
| | | | | | | | | | | | | | | | | | | | Some tests would otherwise fail because commands such as cd trash/repos/foo && git rev-list --reverse HEAD | head -1 would return 2 lines instead of 1: the 'cd' command also prints the path when CDPATH is set. Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | cgit.c: add 'clone-url' setting with support for macro expansionGravatar Lars Hjemli2011-06-14-0/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current 'clone-prefix' setting has some known issues: * All repos get the same 'clone-prefix' value since the setting is not adopted during repo registration (in cgitrc, or during scan-path traversal), but only when the setting is used. * The generated clone-urls for a repo is a combination of 'clone-prefix', a slash and the repo url. This doesn't work well with e.g. ssh-style urls like 'git@example.org:repo.git', since the inserted slash will make the repo relative to the filesystem root. * If 'remove-suffix' is enabled, the generated clone-urls will not work for cloning (except for http-urls to cgit itself) since they miss the '.git' suffix. The new 'clone-url' setting is designed to avoid the mentioned issues: * Each repo adopts the default 'clone-url' when the repo is defined. This allows different groups of repos to adopt different values. * The clone-urls for a repo is generated by expanding environment variables in a string template without inserting arbitrary characters, hence any kind of clone-url can be generated. * Macro expansion also eases the 'remove-suffix' pain since it's now possible to define e.g. 'clone-url=git://foo.org/$CGIT_REPO_URL.git' for a set of repos. A furter improvement would be to define e.g. $CGIT_REPO_SUFFIX to '.git' for all repos which had their url prettified, or to store the original $CGIT_REPO_URL in e.g. $CGIT_REPO_REAL_URL before suffix removal. Reviewed-by: Ferry Huberts <mailings@hupie.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* tests: add tests for links with space in path and/or argsGravatar Lars Hjemli2011-05-24-3/+8
| | | | | | | | | These tests tries to detect bad links in various pages. On the log page, there currently exists links which are not properly escaped due to the use of cgit_fileurl() when building the link. For now, this bug is simply tagged as such. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* tests/setup.sh: add support for known bugsGravatar Lars Hjemli2011-05-24-1/+13
| | | | | | | This patch makes it possible to add tests for known bugs without aborting the testrun. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* tests/setup.sh: allow testsuite to fail properly with POSIX standard shellsGravatar Lars Hjemli2008-12-06-1/+1
| | | | | | | The "((expr))" construct is not implemented by e.g. dash, so this commit replaces the construct with a more portable one. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Fix tests to work on Ubuntu (dash)Gravatar Ramsay Jones2008-11-07-2/+4
| | | | | | | | | | | | | The system shell (/bin/sh) on Ubuntu is dash, which aims to be a POSIX standard shell. In particular, dash does not implement any of the common extensions to the standard that, say, bash and ksh do. Replace some non-POSIX constructs in setup.sh with more portable and mundane code. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* ui-shared.c: use html_url_arg()Gravatar Lars Hjemli2008-10-05-1/+12
| | | | | | | | | The link-generating functions are updated to use the new html_url_arg function, thereby fixing links to strange repos, branches and files. Also, the test-suite is updated to verify some cases of strange urls. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Redesign the caching layerGravatar Lars Hjemli2008-04-28-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original caching layer in cgit has no upper bound on the number of concurrent cache entries, so when cgit is traversed by a spider (like the googlebot), the cache might end up filling your disk. Also, if any error occurs in the cache layer, no content is returned to the client. This patch redesigns the caching layer to avoid these flaws by * giving the cache a bound number of slots * disabling the cache for the current request when errors occur The cache size limit is implemented by hashing the querystring (the cache lookup key) and generating a cache filename based on this hash modulo the cache size. In order to detect hash collisions, the full lookup key (i.e. the querystring) is stored in the cache file (separated from its associated content by ascii 0). The cache filename is the reversed 8-digit hexadecimal representation of hash(key) % cache_size which should make the filesystem lookup pretty fast (if directory content is indexed/sorted); reversing the representation avoids the problem where all keys have equal prefix. There is a new config option, cache-size, which sets the upper bound for the cache. Default value for this option is 0, which has the same effect as setting nocache=1 (hence nocache is now deprecated). Included in this patch is also a new testfile which verifies that the new option works as intended. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* tests/setup.sh: cleanup test script output and loggingGravatar Lars Hjemli2008-02-25-2/+8
| | | | | | | Log the complete output from each test-script in test-output.log and tell the user about the logfile when a test-script fails. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Make output from `make test` more readableGravatar Lars Hjemli2008-02-25-2/+2
| | | | Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Add regression-test for description-less reposGravatar Lars Hjemli2008-02-24-1/+3
| | | | | | | | | | | | | | | | The segfault fixed in commit eacde43d7184452e1fdc90b982b531f1f5239923 was triggered when the html-functions manipulated string literals. One callpatch which could trigger the bug is in ui-repolist.c when repo descriptions are passed to html_ntxt(): if a repo is lacking a description, the literal string "[no description]" is used. This patch changes test/setup.sh such that the first repo has no description, and adds tests for both "[no description]" and "the bar repo" (description of the other repo) to tests/t0101-index.sh, which should be enought to catch regressions in these functions. Noticed-by: Hiroki Hattori <seagull.kamome@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* Create initial testsuiteGravatar Lars Hjemli2007-11-11-0/+108
This creates a simple testsuite, heavily inspired by the testsuite in git. Signed-off-by: Lars Hjemli <hjemli@gmail.com>