sapling/tests
2006-10-02 12:04:48 -05:00
..
coverage.py Add code coverage to the python version of run-tests (inc. annotation) 2006-04-27 21:59:44 -07:00
fish-merge Remove "export FOO=bar" bashism. 2005-07-29 14:54:36 +01:00
get-with-headers.py Add a test for getting raw files via the web UI. 2006-06-29 16:44:23 -07:00
md5sum.py clarify license on md5sum.py 2006-03-06 17:58:53 +01:00
README Add -D/--nodates options to hg diff/export that removes dates from diff headers 2006-09-26 00:05:24 +01:00
run-tests.py Clear contents of global hgrc for tests before running each test. 2006-08-22 09:55:14 +02:00
test-abort-checkin Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc 2006-08-22 10:08:42 +02:00
test-abort-checkin.out Add test mq keeping a reference to localrepo which can't remove journal on exit. 2006-07-28 08:59:06 +02:00
test-addremove addremove: add -s/--similarity option 2006-08-18 22:13:58 -07:00
test-addremove.out addremove: add -s/--similarity option 2006-08-18 22:13:58 -07:00
test-annotate Remove unneeded (and bashismic) export HGMERGE=true. 2006-09-30 09:39:44 +02:00
test-annotate.out Refactor annotate copy support. 2006-09-27 09:10:21 -07:00
test-archive tests: add timeouts, make run-tests.py clean up dead daemon processes 2006-07-06 11:45:34 -07:00
test-archive.out addremove: do not deprecate. 2006-07-23 09:04:14 -07:00
test-backout backout: allow backout of merge changeset with --parent option. 2006-07-14 23:19:15 -07:00
test-backout.out fix output of test-backout. 2006-08-04 10:37:40 -07:00
test-backwards-remove Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero. 2006-03-13 13:05:41 +01:00
test-backwards-remove.out Make hg update more verbose by default (issue12) 2006-05-02 18:44:02 +02:00
test-bad-extension load extensions only after the ui object has been completely initialized 2006-08-22 22:49:30 -03:00
test-bad-extension.out load extensions only after the ui object has been completely initialized 2006-08-22 22:49:30 -03:00
test-bad-pull tests: record few more daemon pids to be safe 2006-07-06 11:49:19 -07:00
test-bad-pull.out Update keepalive.py to current CVS version of urlgrabber. 2006-06-16 10:00:37 -03:00
test-basic Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero. 2006-03-13 13:05:41 +01:00
test-basic.out Show repo's revlog format on verify only if it doesn't match the default format. 2006-04-28 21:52:08 +02:00
test-bdiff Add a fast binary diff extension (not yet used) 2005-06-21 17:27:58 -08:00
test-bdiff.out Add a fast binary diff extension (not yet used) 2005-06-21 17:27:58 -08:00
test-bisect Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc 2006-08-22 10:08:42 +02:00
test-bisect.out tests: new test for the bisect extension 2006-08-15 21:49:49 +03:00
test-branch hg merge: fix lookup of branch 2006-09-08 02:16:16 +02:00
test-branch.out hg merge: fix lookup of branch 2006-09-08 02:16:16 +02:00
test-bundle pull: allow to pull from bundle file without need for bundle: syntax 2006-07-30 21:46:38 -07:00
test-bundle.out pull: allow to pull from bundle file without need for bundle: syntax 2006-07-30 21:46:38 -07:00
test-cat Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero. 2006-03-13 13:05:41 +01:00
test-cat.out Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero. 2006-03-13 13:05:41 +01:00
test-clone changes by John Levon to standardize some erroroutput 2006-02-22 15:57:43 +01:00
test-clone-failure Use sh instead of bash in tests. 2005-08-04 18:20:40 +01:00
test-clone-failure.out Move empty local repo logic for pull into findincoming 2006-04-21 15:33:51 -05:00
test-clone-pull-corruption Added test cases for repo corruption fixed in e2b47039575f (issue132) 2006-02-22 07:45:14 +01:00
test-clone-pull-corruption.out Make hg update more verbose by default (issue12) 2006-05-02 18:44:02 +02:00
test-clone-r remove bashisms from tests 2006-03-12 08:08:22 +01:00
test-clone-r.out Make hg update more verbose by default (issue12) 2006-05-02 18:44:02 +02:00
test-clone.out Make hg update more verbose by default (issue12) 2006-05-02 18:44:02 +02:00
test-command-template Make "hg log --style=changelog > changelog" work (issue338) 2006-09-29 21:24:15 +02:00
test-command-template.out Make "hg log --style=changelog > changelog" work (issue338) 2006-09-29 21:24:15 +02:00
test-commit Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero. 2006-03-13 13:05:41 +01:00
test-commit.out Updated test-commit to match changed output caused by nested transactions. 2006-02-28 23:19:47 +01:00
test-committer Add tests/test-committer 2006-04-20 16:33:49 +02:00
test-committer.out Add tests/test-committer 2006-04-20 16:33:49 +02:00
test-conflict deprecate 'update -m'. use 'merge' instead. 2006-05-14 21:07:34 -07:00
test-conflict.out Make hg update more verbose by default (issue12) 2006-05-02 18:44:02 +02:00
test-confused-revert revert: require --all to revert all files. 2006-08-21 09:44:52 -07:00
test-confused-revert.out cat: default to working dir parent instead of tip 2006-09-14 19:24:00 -07:00
test-copy Update tests for revlogng 2006-05-08 14:32:43 -05:00
test-copy2 The copy tests don't need to invoke cp any longer. 2005-09-14 16:31:03 -07:00
test-copy2.out Fixed test-copy2 with only looking at copied files. 2005-08-28 16:37:24 +02:00
test-copy.out Only show long hashes with --debug, not --verbose 2006-08-20 22:51:56 -05:00
test-default-push add test for default-push. 2006-06-23 18:23:42 -07:00
test-default-push.out add test for default-push. 2006-06-23 18:23:42 -07:00
test-diff-ignore-whitespace Add -D/--nodates options to hg diff/export that removes dates from diff headers 2006-09-26 00:05:24 +01:00
test-diff-ignore-whitespace.out add missed tests for diff -b/-B 2006-07-11 15:51:16 -07:00
test-diff-newlines fix diffs containing embedded "\r". 2006-05-10 10:31:54 -07:00
test-diff-newlines.out fix diffs containing embedded "\r". 2006-05-10 10:31:54 -07:00
test-diff-subdir Add -D/--nodates options to hg diff/export that removes dates from diff headers 2006-09-26 00:05:24 +01:00
test-diff-subdir.out tests: new test for hg diff of a subdirectory only 2006-08-13 23:00:18 +03:00
test-diffdir Add -D/--nodates options to hg diff/export that removes dates from diff headers 2006-09-26 00:05:24 +01:00
test-diffdir.out Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero. 2006-03-13 13:05:41 +01:00
test-empty Add empty repo test 2005-09-23 17:52:15 -07:00
test-empty-dir Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero. 2006-03-13 13:05:41 +01:00
test-empty-dir.out Make hg update more verbose by default (issue12) 2006-05-02 18:44:02 +02:00
test-empty-group document and fix findincoming 2006-05-23 10:44:40 +02:00
test-empty-group.out document and fix findincoming 2006-05-23 10:44:40 +02:00
test-empty.out Show repo's revlog format on verify only if it doesn't match the default format. 2006-04-28 21:52:08 +02:00
test-encode Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero. 2006-03-13 13:05:41 +01:00
test-encode.out Make hg update more verbose by default (issue12) 2006-05-02 18:44:02 +02:00
test-excessive-merge deprecate 'update -m'. use 'merge' instead. 2006-05-14 21:07:34 -07:00
test-excessive-merge.out Make hg update more verbose by default (issue12) 2006-05-02 18:44:02 +02:00
test-extdiff Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc 2006-08-22 10:08:42 +02:00
test-extdiff.out Fixed test-extdiff. 2006-08-15 16:04:47 +02:00
test-fetch Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc 2006-08-22 10:08:42 +02:00
test-fetch.out test-fetch: make output stable 2006-08-08 16:23:02 -07:00
test-filebranch deprecate 'update -m'. use 'merge' instead. 2006-05-14 21:07:34 -07:00
test-filebranch.out Only show long hashes with --debug, not --verbose 2006-08-20 22:51:56 -05:00
test-flags deprecate 'update -m'. use 'merge' instead. 2006-05-14 21:07:34 -07:00
test-flags.out Make hg update more verbose by default (issue12) 2006-05-02 18:44:02 +02:00
test-git-export Add -D/--nodates options to hg diff/export that removes dates from diff headers 2006-09-26 00:05:24 +01:00
test-git-export.out git --diff: fix traceback when getting mode change 2006-09-07 14:12:39 +02:00
test-git-import Tests for git import 2006-08-11 16:56:31 -07:00
test-git-import.out Unify mq and hg patch invocation. 2006-08-15 11:28:50 -07:00
test-globalopts Fix some tests for portability. 2006-08-09 12:05:40 -07:00
test-globalopts.out Documentation fixes for addremove. 2006-09-27 21:43:45 +02:00
test-grep grep: add --follow support. 2006-08-12 15:01:46 -07:00
test-grep.out grep: add --follow support. 2006-08-12 15:01:46 -07:00
test-help Further help improvements: 2005-08-06 15:43:12 +01:00
test-help.out Remove single character equivalent of --nodates (was -D) 2006-09-28 21:00:01 +01:00
test-hgignore Fix broken hgignore tests due to full path showing up in output. 2006-03-26 22:54:05 +02:00
test-hgignore.out Adjusted test output to match new hgignore error messages. 2006-01-07 16:34:20 +01:00
test-hgrc make readconfig take a filename instead of a file pointer as argument 2005-10-27 13:40:56 -07:00
test-hgrc.out Add missing test output 2005-10-27 13:48:00 -07:00
test-hook hooks: add url to changegroup, incoming, prechangegroup, pretxnchangegroup hooks 2006-07-25 13:50:32 -07:00
test-hook.out merge: use repo.parents and parent contexts in update 2006-09-29 16:39:38 -05:00
test-http Allow for MB/sec transfer rates in test-http 2006-08-21 16:33:43 -07:00
test-http-proxy Allow for MB/sec transfer rates in test-http-proxy and test-ssh. 2006-08-21 10:46:58 -07:00
test-http-proxy.out Allow for MB/sec transfer rates in test-http-proxy and test-ssh. 2006-08-21 10:46:58 -07:00
test-http.out Allow for MB/sec transfer rates in test-http 2006-08-21 16:33:43 -07:00
test-hup Some systems are slower ... give 'em some time/ 2006-06-27 22:50:33 +02:00
test-hup.out Update tests for revlogng 2006-05-08 14:32:43 -05:00
test-import Fix some tests for portability. 2006-08-09 12:05:40 -07:00
test-import.out Unify mq and hg patch invocation. 2006-08-15 11:28:50 -07:00
test-incoming-outgoing tests: add timeouts, make run-tests.py clean up dead daemon processes 2006-07-06 11:45:34 -07:00
test-incoming-outgoing.out add -r/--rev arguments to incoming and outgoing 2006-06-30 16:16:35 +02:00
test-init clone: simplifying dest repo creation 2006-09-02 23:26:10 +02:00
test-init.out sshrepo: don't try to validate when creating the repo 2006-09-13 19:57:40 +02:00
test-issue322 fix issue 322. 2006-08-18 21:03:29 -07:00
test-issue322.out fix issue 322. 2006-08-18 21:03:29 -07:00
test-locate Test case for #294 2006-06-23 08:10:06 +02:00
test-locate.out Test case for #294 2006-06-23 08:10:06 +02:00
test-lock-badness fix backtrace printed when cannot get lock. 2006-03-28 09:01:07 -08:00
test-lock-badness.out Make hg update more verbose by default (issue12) 2006-05-02 18:44:02 +02:00
test-log Show copies in hg log. 2006-09-29 13:01:19 -07:00
test-log.out Show copies in hg log. 2006-09-29 13:01:19 -07:00
test-merge1 deprecate 'update -m'. use 'merge' instead. 2006-05-14 21:07:34 -07:00
test-merge1.out merge: simplify working dir manifest generation 2006-08-22 17:08:38 -05:00
test-merge2 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero. 2006-03-13 13:05:41 +01:00
test-merge2.out Make hg update more verbose by default (issue12) 2006-05-02 18:44:02 +02:00
test-merge3 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero. 2006-03-13 13:05:41 +01:00
test-merge3.out transitive copy/rename 2006-02-18 07:37:59 -08:00
test-merge4 deprecate 'update -m'. use 'merge' instead. 2006-05-14 21:07:34 -07:00
test-merge4.out Make hg update more verbose by default (issue12) 2006-05-02 18:44:02 +02:00
test-merge5 Don't require the "yes" command for test-merge5. 2006-03-15 11:26:57 +01:00
test-merge5.out Merge with crew, fix most tests 2006-08-09 13:55:18 -05:00
test-merge6 deprecate 'update -m'. use 'merge' instead. 2006-05-14 21:07:34 -07:00
test-merge6.out Make hg update more verbose by default (issue12) 2006-05-02 18:44:02 +02:00
test-merge7 deprecate 'update -m'. use 'merge' instead. 2006-05-14 21:07:34 -07:00
test-merge7.out merge: extend file merge function for renames 2006-10-02 12:04:48 -05:00
test-merge-default merge with other head by default, not tip. 2006-08-15 11:38:07 -07:00
test-merge-default.out merge with other head by default, not tip. 2006-08-15 11:38:07 -07:00
test-merge-revert revert: require --all to revert all files. 2006-08-21 09:44:52 -07:00
test-merge-revert2 Add -D/--nodates options to hg diff/export that removes dates from diff headers 2006-09-26 00:05:24 +01:00
test-merge-revert2.out Make hg update more verbose by default (issue12) 2006-05-02 18:44:02 +02:00
test-merge-revert.out Make hg update more verbose by default (issue12) 2006-05-02 18:44:02 +02:00
test-mq Added tests for qpush/qpop with index. 2006-09-12 17:26:20 +02:00
test-mq-guards Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc 2006-08-22 10:08:42 +02:00
test-mq-guards.out mq: apply patch is any posative guard matches 2006-08-10 17:18:55 -07:00
test-mq-qdelete mq: add qdelete --forget option 2006-09-14 15:35:55 +02:00
test-mq-qdelete.out mq: add qdelete --forget option 2006-09-14 15:35:55 +02:00
test-mq-qdiff Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc 2006-08-22 10:08:42 +02:00
test-mq-qdiff.out tests: new test for mq qdiff command 2006-08-15 20:59:55 +03:00
test-mq-qnew-twice Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc 2006-08-22 10:08:42 +02:00
test-mq-qnew-twice.out Fix test-mq-qnew-twice exit code and output. 2006-07-28 09:00:30 +02:00
test-mq-qrefresh tests: add new test; test-mq-qrefresh 2006-09-20 21:44:35 +02:00
test-mq-qrefresh-replace-log-message Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc 2006-08-22 10:08:42 +02:00
test-mq-qrefresh-replace-log-message.out MQ: uniformise message and logfile option. 2006-07-26 20:11:54 +02:00
test-mq-qrefresh.out tests: add new test; test-mq-qrefresh 2006-09-20 21:44:35 +02:00
test-mq-qrename Make qrename handle directory targets; closes #333. 2006-09-13 08:57:08 -07:00
test-mq-qrename.out Make qrename handle directory targets; closes #333. 2006-09-13 08:57:08 -07:00
test-mq-qsave Make tests append settings to $HGRCPATH instead of $HGTMP/.hgrc 2006-08-22 10:08:42 +02:00
test-mq-qsave.out Add basic qsave/qrestore test. 2006-08-07 14:48:24 -07:00
test-mq.out Added tests for qpush/qpop with index. 2006-09-12 17:26:20 +02:00
test-nested-repo revert: require --all to revert all files. 2006-08-21 09:44:52 -07:00
test-nested-repo.out Fixed test output for not using the deprecated 'hg forget'. 2006-04-27 13:05:02 +02:00
test-notfound Addes test for error messages when operating on non-existing files. 2005-08-15 06:58:25 +01:00
test-notfound.out Fix up failing tests. 2005-09-01 07:37:49 -07:00
test-oldcgi Don't change $PATH (breaks python in other locations) and $PWD in test-oldcgi 2006-06-30 21:40:56 +02:00
test-oldcgi.out Fix new tests to be better. In particular, fix webraw test to 2006-06-30 08:45:52 -07:00
test-parse-date add more testcases for date parsing 2006-06-30 18:57:04 +02:00
test-parse-date.out tag: shorten hash in default commit message 2006-08-20 23:52:52 -05:00
test-parseindex add test for revlog.parseindex 2006-05-14 18:37:50 -03:00
test-parseindex.out add test for revlog.parseindex 2006-05-14 18:37:50 -03:00
test-permissions Update tests for revlogng 2006-05-08 14:32:43 -05:00
test-permissions.out Show repo's revlog format on verify only if it doesn't match the default format. 2006-04-28 21:52:08 +02:00
test-pull add support for streaming clone. 2006-07-14 11:17:22 -07:00
test-pull-permission Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero. 2006-03-13 13:05:41 +01:00
test-pull-permission.out Make hg update more verbose by default (issue12) 2006-05-02 18:44:02 +02:00
test-pull-pull-corruption Added test cases for repo corruption fixed in e2b47039575f (issue132) 2006-02-22 07:45:14 +01:00
test-pull-pull-corruption2 Wait for first pull to be completed before doing verify. 2006-06-28 12:29:48 +02:00
test-pull-pull-corruption2.out Show repo's revlog format on verify only if it doesn't match the default format. 2006-04-28 21:52:08 +02:00
test-pull-pull-corruption.out Make hg update more verbose by default (issue12) 2006-05-02 18:44:02 +02:00
test-pull.out addremove: do not deprecate. 2006-07-23 09:04:14 -07:00
test-push-hook-lock Create local ui object per repository, so .hg/hgrc don't get mixed. 2006-03-06 17:47:41 +01:00
test-push-hook-lock.out Make hg update more verbose by default (issue12) 2006-05-02 18:44:02 +02:00
test-push-http hooks: add url to changegroup, incoming, prechangegroup, pretxnchangegroup hooks 2006-07-25 13:50:32 -07:00
test-push-http.out hooks: add url to changegroup, incoming, prechangegroup, pretxnchangegroup hooks 2006-07-25 13:50:32 -07:00
test-push-r remove bashisms from tests 2006-03-12 08:08:22 +01:00
test-push-r.out Make hg update more verbose by default (issue12) 2006-05-02 18:44:02 +02:00
test-push-warn deprecate 'update -m'. use 'merge' instead. 2006-05-14 21:07:34 -07:00
test-push-warn.out Report on push/pull if heads are merged, too, like for new heads. 2006-06-10 17:39:29 +02:00
test-rawcommit1 Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero. 2006-03-13 13:05:41 +01:00
test-rawcommit1.out Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero. 2006-03-13 13:05:41 +01:00
test-remove Add -D/--nodates options to hg diff/export that removes dates from diff headers 2006-09-26 00:05:24 +01:00
test-remove.out Add -D/--nodates options to hg diff/export that removes dates from diff headers 2006-09-26 00:05:24 +01:00
test-rename Enable path validation for copy, rename, debugwalk and other canonpath users. 2006-03-19 14:53:58 +01:00
test-rename-merge1 Add core copy detection algorithm 2006-09-25 16:45:31 -05:00
test-rename-merge1.out Add core copy detection algorithm 2006-09-25 16:45:31 -05:00
test-rename.out Make hg update more verbose by default (issue12) 2006-05-02 18:44:02 +02:00
test-revert fix incorrect warning when walking on a particular rev 2006-08-28 21:49:02 +02:00
test-revert-unknown revert: require --all to revert all files. 2006-08-21 09:44:52 -07:00
test-revert-unknown.out small changes to revert command. 2006-04-03 10:02:09 -07:00
test-revert.out Add a hint for revert --all when aborting 2006-08-29 19:02:57 +02:00
test-ro-message deprecate 'update -m'. use 'merge' instead. 2006-05-14 21:07:34 -07:00
test-ro-message.out Fixed OSError "No such file or directory: None" and make IOError consistent. 2006-09-11 10:23:23 +02:00
test-rollback deprecate undo command, replace with rollback command. 2006-05-08 14:19:05 -07:00
test-rollback.out deprecate undo command, replace with rollback command. 2006-05-08 14:19:05 -07:00
test-simple-update Don't use 'set -x', fix exports, sed and hexdump usage for Solaris. 2005-07-29 15:19:43 +01:00
test-simple-update.out addremove: do not deprecate. 2006-07-23 09:04:14 -07:00
test-ssh cat: default to working dir parent instead of tip 2006-09-14 19:24:00 -07:00
test-ssh.out Allow for MB/sec transfer rates in test-http-proxy and test-ssh. 2006-08-21 10:46:58 -07:00
test-static-http hooks: add url to changegroup, incoming, prechangegroup, pretxnchangegroup hooks 2006-07-25 13:50:32 -07:00
test-static-http.out hooks: add url to changegroup, incoming, prechangegroup, pretxnchangegroup hooks 2006-07-25 13:50:32 -07:00
test-status status: add -c (clean) and -A (all files) options 2006-07-20 16:21:07 -07:00
test-status.out status: add -c (clean) and -A (all files) options 2006-07-20 16:21:07 -07:00
test-strict Make test-strict append to $HGRCPATH, like other tests do since e6e7d87cb388. 2006-08-22 10:20:21 +02:00
test-strict.out Add ui.strict config item. 2006-08-21 21:59:29 -07:00
test-symlinks Fix issue 165: `hg status' with abs path containing a symlink-to-dir fails 2006-04-21 16:09:43 -07:00
test-symlinks.out addremove: do not deprecate. 2006-07-23 09:04:14 -07:00
test-tag change 'hg tag' to tag the parent rev instead of tip 2006-07-21 01:40:07 +02:00
test-tag.out tag: shorten hash in default commit message 2006-08-20 23:52:52 -05:00
test-tags Only show long hashes with --debug, not --verbose 2006-08-20 22:51:56 -05:00
test-tags.out tag: shorten hash in default commit message 2006-08-20 23:52:52 -05:00
test-ui-config Include section name and parameter name (if available) in config errors. 2006-09-08 10:01:45 +02:00
test-ui-config.out Include section name and parameter name (if available) in config errors. 2006-09-08 10:01:45 +02:00
test-unrelated-pull update test for unrelated repo. 2006-03-14 23:00:45 -08:00
test-unrelated-pull.out add merge command. means same thing as "update -m". 2006-03-29 10:27:16 -08:00
test-up-local-change Add -D/--nodates options to hg diff/export that removes dates from diff headers 2006-09-26 00:05:24 +01:00
test-up-local-change.out merge: extend file merge function for renames 2006-10-02 12:04:48 -05:00
test-update-reverse Use 'hg ci -d "1000000 0"' in tests to circumvent problem with leading zero. 2006-03-13 13:05:41 +01:00
test-update-reverse.out merge: simplify actions with helper function 2006-09-17 21:27:30 -05:00
test-walk Enable path validation for copy, rename, debugwalk and other canonpath users. 2006-03-19 14:53:58 +01:00
test-walk.out addremove: do not deprecate. 2006-07-23 09:04:14 -07:00
test-webraw tests: add timeouts, make run-tests.py clean up dead daemon processes 2006-07-06 11:45:34 -07:00
test-webraw.out test-webraw: do not store hostname in test output 2006-06-30 22:04:02 -07:00
tinyproxy.py http: fix many problems with url parsing and auth. added proxy test. 2006-05-22 15:42:49 -07:00

A simple testing framework

To run the tests, do:

cd tests/
python run-tests.py

This finds all scripts in the test directory named test-* and executes
them. The scripts can be either shell scripts or Python. Each test is
run in a temporary directory that is removed when the test is complete.

A test-<x> succeeds if the script returns success and its output
matches test-<x>.out. If the new output doesn't match, it is stored in
test-<x>.err.

There are some tricky points here that you should be aware of when
writing tests:

- hg commit and hg merge want user interaction

  for commit use -m "text"
  for hg merge, set HGMERGE to something noninteractive (like true or merge)

- changeset hashes will change based on user and date which make
  things like hg history output change

  use commit -m "test" -u test -d "1000000 0"

- diff and export may show the current time

  use -D/--nodates to strip the dates

- You can append your own hgrc settings to the file that the environment
  variable HGRCPATH points to. This file is cleared before running a test.

You also need to be careful that the tests are portable from one platform
to another.  You're probably working on Linux, where the GNU toolchain has
more (or different) functionality than on MacOS, *BSD, Solaris, AIX, etc.
While testing on all platforms is the only sure-fire way to make sure that
you've written portable code, here's a list of problems that have been
found and fixed in the tests.  Another, more comprehensive list may be
found in the GNU Autoconf manual, online here:

    http://www.gnu.org/software/autoconf/manual/html_node/Portable-Shell.html

sh:

The Bourne shell is a very basic shell.  /bin/sh on Linux is typically
bash, which even in Bourne-shell mode has many features that Bourne shells
on other Unix systems don't have (and even on Linux /bin/sh isn't
guaranteed to be bash).  You'll need to be careful about constructs that
seem ubiquitous, but are actually not available in the least common
denominator.  While using another shell (ksh, bash explicitly, posix shell,
etc.) explicitly may seem like another option, these may not exist in a
portable location, and so are generally probably not a good idea.  You may
find that rewriting the test in python will be easier.

- don't use pushd/popd; save the output of "pwd" and use "cd" in place of
  the pushd, and cd back to the saved pwd instead of popd.

- don't use math expressions like let, (( ... )), or $(( ... )); use "expr"
  instead.

grep:

- don't use the -q option; redirect stdout to /dev/null instead.

- don't use extended regular expressions with grep; use egrep instead, and
  don't escape any regex operators.

sed:

- make sure that the beginning-of-line matcher ("^") is at the very
  beginning of the expression -- it may not be supported inside parens.

echo:

- echo may interpret "\n" and print a newline; use printf instead if you
  want a literal "\n" (backslash + n).

false:

- false is guaranteed only to return a non-zero value; you cannot depend on
  it being 1.  On Solaris in particular, /bin/false returns 255.  Rewrite
  your test to not depend on a particular return value, or create a
  temporary "false" executable, and call that instead.

diff:

- don't use the -N option.  There's no particularly good workaround short
  of writing a reasonably complicated replacement script, but substituting
  gdiff for diff if you can't rewrite the test not to need -N will probably
  do.