Hi all, This may be a solution to the trickiness of calling pwd in the tests. e.g. bash doesn't call /bin/pwd, and also pwd in bash on cygwin doesn't give valid path names. It's a little silly, but I think it ought to be pretty darn portable.
David Mon Oct 13 14:42:09 EDT 2008 David Roundy <[EMAIL PROTECTED]> * slightly hokey approach to solving pwd problem. I think this may help the Solaris/BSD test portability issue, and it's also (I think) a slightly cleaner alternative to the portable_pwd hack.
New patches: [slightly hokey approach to solving pwd problem. David Roundy <[EMAIL PROTECTED]>**20081013184209 Ignore-this: 762f0339c99f1d4a529ab031ad353cd0 I think this may help the Solaris/BSD test portability issue, and it's also (I think) a slightly cleaner alternative to the portable_pwd hack. ] addfile ./tests/hspwd.hs hunk ./tests/hspwd.hs 1 +module Main where + +import Directory ( getCurrentDirectory ) + +main = getCurrentDirectory >>= putStr hunk ./tests/issue595_get_permissions.sh 17 not () { "$@" && exit 1 || :; } -portable_pwd () { - if uname | grep -i cygwin > /dev/null; then - cygpath -w `pwd` - else - pwd - fi -} - if echo $OS | grep -i windows; then echo This test does not work on Windows exit 0 hunk ./tests/issue595_get_permissions.sh 30 darcs 'init' cd .. -# this is an ugly hack for Cygwin and portable_pwd +# this is an ugly hack for Cygwin and pwd IFS='' hunk ./tests/issue595_get_permissions.sh 32 -DIR=`portable_pwd` +DIR=`hspwd` # Set up a directory with restrictive permissions mkdir -p tmp_restrictive/liberal hunk ./tests/issue595_get_permissions.sh 44 # anything in tmp_restrictive/liberal touch can_touch if [ -e can_touch ]; then - darcs get $DIR/tmp_remote 2> log - not grep -i 'permission denied' log + if hwpwd; then + darcs get $DIR/tmp_remote 2> log + not grep -i 'permission denied' log + else + echo "Apparently I can't do `basename $0` on this platform" + fi else echo "Can't do `basename $0` on this platform" fi hunk ./tests/shell_harness 27 my $darcspath=`dirname "$actualdarcs"`; } $ENV{PATH} = "$darcspath:$ENV{PATH}"; +system "ghc --make -o ../hspwd ../tests/hspwd.hs"; # Some environment variables can act as defaults that we don't want $ENV{EMAIL} = $ENV{DARCS_EMAIL} = 'tester'; hunk ./tests/template.sh 5 set -ev not () { "$@" && exit 1 || :; } +alias pwd=hspwd rm -rf temp1 temp2 mkdir temp1 Context: [clean up test-franchise-build.sh David Roundy <[EMAIL PROTECTED]>**20081013162935 Ignore-this: a1bd36f8bb8d3d75519abcc8d8388a99 Among other infelicities, it wasn't using a clean franchise build except under wine. ] [Remove bashisms and GNUisms Matthias Kilian <[EMAIL PROTECTED]>**20081012123017 Replace some bashisms and GNUisms by more standards compliant command lines, i.e.: - Don't use `\|' in BREs, since it's undefined according to POSIX. Instead just use grep -E with an ERE. - Don't create "funny" strings with the $'\x01...' bashism but use printf(1) instead. Note that this isn't strictly necessary to fix printer.sh on non-GNUish systems, but it makes it much simpler to test what's going on. - In test_line(), just use grep -F, and unescape all second arguments passed to test_line(). This makes the script much more readable and actually fixes it for non-GNUish systems. ] [simplify write_default_prefs. David Roundy <[EMAIL PROTECTED]>**20081013121512 Ignore-this: 4f72699d2406802e771a0ceadc913550 It's easier to read this way, and shorter, too. ] [documented provenance of .tmp_versions and .DS_Store files in default boring [EMAIL PROTECTED] [Fix curl version in setup.hs. Dmitry Kurochkin <[EMAIL PROTECTED]>**20081012094214 Ignore-this: 5c44008cb7105279c37a2297e668a070 ] [avoid re-checking for windows. David Roundy <[EMAIL PROTECTED]>**20081011223905 Ignore-this: 93c42ffc6b67c6cca803e1dcb18a9497 ] [setup.hs: don't fail if darcs doesn't yet exist. David Roundy <[EMAIL PROTECTED]>**20081011223824 Ignore-this: 6d318961490a9343f5e792f2d740fd27 ] [fix spelling error in setup.hs. David Roundy <[EMAIL PROTECTED]>**20081011205353 Ignore-this: 6d521f633d74aae8705391eff9489b2c ] [make setup.hs look for libcurl David Roundy <[EMAIL PROTECTED]>**20081011195923 Ignore-this: c9a267184e89b188f074171f8887b3b4 ] [resolve issue1139: make special cases handle no arguments gracefully. David Roundy <[EMAIL PROTECTED]>**20081011161059 Ignore-this: 12b17a3940558860dd4caf7bb2619ec7 I accidentally broke this when refactoring Darcs.Match. This change restores some efficiency when no arguments are given and thus we are creating copies of all the files in the repository. ] [Simplify Darcs.Lock.withDir. Dmitry Kurochkin <[EMAIL PROTECTED]>**20081011110639 Ignore-this: c01257f9e0fc40c415562448cb52d67d ] [Do not remove temporary directories if DARCS_KEEP_TMPDIR environment variable is set. Dmitry Kurochkin <[EMAIL PROTECTED]>**20081011105808 Ignore-this: 5ea0e206e45dc9be73c29c3bf89643b9 ] [add test that timestamps are properly set. David Roundy <[EMAIL PROTECTED]>**20081013152933 Ignore-this: caf36b9fff70f9a44b0f35078f3a5aee ] [add tests for issue1139. David Roundy <[EMAIL PROTECTED]>**20081011155324 Ignore-this: ff50784059114f969fb4657ea5e92025 ] [Copyright and licensing notes and rationales. Trent W. Buck <[EMAIL PROTECTED]>**20081011035925] [Document DARCS_KEEP_TMPDIR in manual. Dmitry Kurochkin <[EMAIL PROTECTED]>**20081011115026 Ignore-this: bd77d5a85fa44094dcd1a867c2a63d2e ] [Documentation for DARCS_KEEP_TMPDIR. Dmitry Kurochkin <[EMAIL PROTECTED]>**20081011113042 Ignore-this: 5e3d6598aed4b681a099341c3ec5017a ] [cleanup default boring [EMAIL PROTECTED] Also turn default_boring and default_binaries into (pure) CAFs. ] [on windows, try renameFile before deleting target file. David Roundy <[EMAIL PROTECTED]>**20081010204009 Ignore-this: 6946caec86d1c7177510baf62e2ed275 The trouble was that if we were renaming a file to itself, we ended up deleting the file we were renaming (oops!). It's a stupid hack, but that's what we're forced to do when running on windows. (Note that it's potentially hard to determine if two paths describe the same file.) ] [add new test that optimize --reorder behaves itself on lazy repos. David Roundy <[EMAIL PROTECTED]>**20081010194834 Ignore-this: 5246d20700c153490da1997caede4369 ] [give more debug output in test. David Roundy <[EMAIL PROTECTED]>**20081010191209 Ignore-this: a13ec79ae69f4fe9621ea3c16c9b41d6 ] [remove reimplementation of zipWith. David Roundy <[EMAIL PROTECTED]>**20081010191051 Ignore-this: 277f49de513ec84bc6db0b4da6c633b1 ] [clean up setup.hs configure a bit. David Roundy <[EMAIL PROTECTED]>**20081010154959 Ignore-this: 10855edc3e6fda315e03b6ea1c64b05e This removes redundant output, and warns when fast http libraries aren't found (or no http library at all). ] [Fix spurious diff and missing cd in diff test. Eric Kow <[EMAIL PROTECTED]>**20081008192142 If tests are run in parallel, each instance of the diff test may attempt to create temporary directories for use by darcs diff. Darcs itself handles this fine; only the test script gets confused by the spurious difference that results. ] [Help the test harness clean to up after tests. Eric Kow <[EMAIL PROTECTED]>**20081008190340 A typical use case is if a test sets restrictive permissions and dies. Notes: * we do this after each test so that one test result doesn't contaminate others * we explicitly do /not/ remove these temporary directories because you may want them around for forensics ] [ratify use of readFile in setup.hs David Roundy <[EMAIL PROTECTED]>**20081010150105 Ignore-this: 92627010ec07e16d271bcc5e7f325c64 ] [Minor refactor in URL.urlThread. Dmitry Kurochkin <[EMAIL PROTECTED]>**20081010071649 Ignore-this: 809d750f10adc8073ebe0dd3d432f2a2 ] [clean up code formatting in Hopefully. David Roundy <[EMAIL PROTECTED]>**20081010144943 Ignore-this: 65a4dbb17505adbc0c0c615c445a8926 ] [clean up unused exports in Hopefully. David Roundy <[EMAIL PROTECTED]>**20081010144918 Ignore-this: a016b66fd64f756295555255b268e80a ] [haddock documentation for Hopefully [EMAIL PROTECTED] [resolve issue1062: ignore setCooked and setEcho errors. Eric Kow <[EMAIL PROTECTED]>**20081010122047 Ignore-this: 2f8c8710faefdcdb6b224244995a00af The issue in question is only about setCooked. I presume setEcho can similarly fail. ] [add script for testing the franchise build. David Roundy <[EMAIL PROTECTED]>**20081010142711 Ignore-this: 5aa40dc14c0827b199b9d23d1c7ef27d This includes testing the cross-compile to windows using wine. It's part of my scripts that are run on each push to darcs-unstable. ] [add a --prompt-for-dependencies to restore the default behaviour [EMAIL PROTECTED] Ignore-this: 92480353c19dea1b67aff89b933759a2 Add a --prompt-for-dependencies flag so that one can put --dont-prompt-for-dependencies in their defaults file and still get back the default behavior when needed. ] [eliminate autogeneration of Workaround.hs. David Roundy <[EMAIL PROTECTED]>**20081010134727 Ignore-this: 784a4b08bab1e22c93f54c1c5cd710f1 ] [add franchise setup file. David Roundy <[EMAIL PROTECTED]>**20081009203410 Ignore-this: f1738c7608e6093aa18e808d3d41d000 ] [add missing createLink to win32/System/Posix/Files.hsc. David Roundy <[EMAIL PROTECTED]>**20081010133500 Ignore-this: 39d246ab1db8c31f78e0b8362ad05ca3 ] [make make_changelog default to quiet output. David Roundy <[EMAIL PROTECTED]>**20081009203322 Ignore-this: 55eba7a68a3c8a5683d23cc99848bd6f You can restore previous behavior by defining the VERBOSE environment variable. ] [remove unused and unneeded Workarounds. David Roundy <[EMAIL PROTECTED]>**20081009194541 Ignore-this: bca5a7a2444d4ddffeed673cbbfa19ec ] [rename lazy-deps to dont-prompt-for-dependencies. David Roundy <[EMAIL PROTECTED]>**20081009171030 Ignore-this: 78393e28c184c9339c89cecaa852dbc9 ] [fix incompatibilities with ghc 6.6 David Roundy <[EMAIL PROTECTED]>**20081009165845 Ignore-this: 18739c880a49b976ec151363f4ff9296 ] [Restore send-external.sh test. David Roundy <[EMAIL PROTECTED]>**20081009140121 Ignore-this: 700f9c538033108cac397c1d757fbfc4 ] [add test of Ignore-this functionality. David Roundy <[EMAIL PROTECTED]>**20081008192621 Ignore-this: 47b7bf225e2997dd78c351763c769738 ] [warn users if they try to record a change beginning with Ignore-this:. David Roundy <[EMAIL PROTECTED]>**20081008192001 Ignore-this: 94828726d609f46e384c2ab8091e49db Ignore-this: I am testing the functionality of this feature. ] [allow users to add their own ignored information to patches. David Roundy <[EMAIL PROTECTED]>**20081008190038 Ignore-this: fe8294776896b6fdcd489752a29d1069 ] [basic tests for --lazy-deps Florent Becker <[EMAIL PROTECTED]>**20081008124956 Ignore-this: 79d8a312943813e9fe5448bc2ab86aa0 ] [added a --lazy-deps option Florent Becker <[EMAIL PROTECTED]>**20081008122224 Ignore-this: d934868e56f0084067f5aedf0512a533 This option means that you don't get asked about patches which do not match a --match, but are depended upon by a patch that does. These patches will get ilently selected. ] [refactor of SelectChanges Florent Becker <[EMAIL PROTECTED]>**20081008100551 Ignore-this: e620d36d6e52eb62a2205fe5122d7076 ] [use minimum Cachable time in corner case where f/=f' and c/=c'. David Roundy <[EMAIL PROTECTED]>**20081008173804 Ignore-this: 51f2a68ac4139420bd116e8293cc5cc2 ] [remove excessive indentation that made the code very hard to read. David Roundy <[EMAIL PROTECTED]>**20081008173358 Ignore-this: d93e312c27f0d9a1ef993855c6872257 ] [When requesting same URL with different cachability choose least cachable. Dmitry Kurochkin <[EMAIL PROTECTED]>**20081008145049 Ignore-this: fddacf3e706a68c55871f81438d283b ] [refactor Match to handle --store-in-memory itself. David Roundy <[EMAIL PROTECTED]>**20081008172748 Ignore-this: 647c75f78d2d4981e67039ae1b6e96df This reduces the amount of duplicate code, at the cost of adding a class to Darcs.Match--but at least it isn't exported. ] [make writeSlurpy work properly when given "." David Roundy <[EMAIL PROTECTED]>**20081008172207 Ignore-this: 9d5d077bcdf3a9bb7bfa8477ab9d96d5 This isn't a bugfix per se, but rather a feature addition. writeSlurpy has a "safety feature" that it refuses to overwrite a directory, but that safety feature doesn't really apply to the directory ".", since "." explicitly means that we want to overwrite the directory. ] [change a bit of code to accept FilePathLike arguments. David Roundy <[EMAIL PROTECTED]>**20081008172047 Ignore-this: 87032e071bb49117133d99a90bdfd0e1 These functions really should expect FileName, and this is an incremental move in that direction. ] [Improve test pull.sh cleanup Thorkil Naur <[EMAIL PROTECTED]>**20081008115539] [clean up RepoPath a bit (removing unused methods from classes). David Roundy <[EMAIL PROTECTED]>**20081008161906 Ignore-this: 4e69882ebe10f20bb67350b106bd10af ] [clean up exportation of SlurmMonad private internals. David Roundy <[EMAIL PROTECTED]>**20081008151758 Ignore-this: 3763cc352b6f28fa83d8fbe5b1077985 ] [Allow dist command to take a tag argument (issue 286). Stephen Hicks <[EMAIL PROTECTED]>**20081006075133 It should probably be a "match_one_context" instead of a "match_one" option type, and then instead of using the "nonranged" matcher, we'd use the "patchset" ones (that don't exist yet). But I couldn't figure out how to blend "get_nonrange_match" and "get_one_patchset" in any sensical way to get immediate pristine output (and all the more so for the "_s" variants). So for now, contexts are not supported, but it would be nice if they were someday. ] [Optimize clean_hashdir's use of cleanCaches. Petr Rockai <[EMAIL PROTECTED]>**20081007191237 We now only ask cleanCaches to look at files we have unlinked and therefore might have caused their cached equivalents to drop link-count to 1. Limits number of stats to O(n), n = number of cleaned out files. ] [partial haddock documentation of Arguments.lhs Florent Becker <[EMAIL PROTECTED]>**20081007131122] [Restore quiet grep in portable_pwd Eric Kow <[EMAIL PROTECTED]>**20081005164212 Only this time, we use > /dev/null. ] [Disable a test that triggers a setCooked failure under Windows. Eric Kow <[EMAIL PROTECTED]>**20081005145124] [mv nfs-failure test to the bugs/ folder, since it fails. David Roundy <[EMAIL PROTECTED]>**20081005130112 Ignore-this: 73c6e55558233f1b56d7ff51f327f454 ] [further makefile cleanups. David Roundy <[EMAIL PROTECTED]>**20081005124353 Ignore-this: 8c498e4b793b7049e273d6ac98441256 ] [Simplify testing in makefile. Eric Kow <[EMAIL PROTECTED]>**20081005092416] [Revise test documentation to reflect consolidation to shell tests. Eric Kow <[EMAIL PROTECTED]>**20081005091131] [Remove Perl test harness and convenience copies. Eric Kow <[EMAIL PROTECTED]>**20081005090921] [Do not use Perl test harness. Eric Kow <[EMAIL PROTECTED]>**20081005090903] [Hopefully fix issue595 test on Solaris. Eric Kow <[EMAIL PROTECTED]>**20081005090156 I'm not entirely clear on what is causing this to fail. The basic test is: mkdir -p restrictive/liberal chmod 111 restrictive cd restrictive/liberal darcs get This is apparantly known to fail under Solaris. The original Perl test claims it's because you can't cd into restrictive/liberal, but the shell variant seems to manage fine. In any case, I think this touch file check is simpler. ] [Translate merging_newlines bug into shell and restore bug context. Eric Kow <[EMAIL PROTECTED]>**20081005085031 This used to be a TODO item at the end of the merging_newlines test, but when it was moved out, the actions required to set up a bug were forgotten. This patch restores those actions. ] [Translate some Perl bugs into shell. Eric Kow <[EMAIL PROTECTED]>**20081005084157] [fix bug in external.sh translation. David Roundy <[EMAIL PROTECTED]>**20081005122814 Ignore-this: 1291ebf27ea9c4a04d79c877b0f6f82d ] [Translate printer test into shell. Eric Kow <[EMAIL PROTECTED]>**20081005020140] [Translate still more Perl tests into shell. Eric Kow <[EMAIL PROTECTED]>**20081005012058] [Translate pull_many_files tests into shell and avoid redoing work. Eric Kow <[EMAIL PROTECTED]>**20081005004120 Just use whatever format is in .darcs/defaults ] [Remove residual Perlisms in match-date. Eric Kow <[EMAIL PROTECTED]>**20081005000324] [Translate date matching test to shell. Eric Kow <[EMAIL PROTECTED]>**20081005000243] [Skip filepath test which does not work on Windows. Eric Kow <[EMAIL PROTECTED]>**20081004234806] [Fix non-portable use of grep -q in tests. Eric Kow <[EMAIL PROTECTED]>**20081004234524] [Make sed usage more portable in hidden_conflict2 test. Eric Kow <[EMAIL PROTECTED]>**20081004233717] [Use example.com in external.pl tests. Eric Kow <[EMAIL PROTECTED]>**20080928082407 This avoids timing out in some DNS lookup. When I first wrote this test, I did not know that RFC2606 has reserved example.{com,net,org} which seems to be useful in precisely this situation. ] [fix incorrect merging_newlines.sh test. David Roundy <[EMAIL PROTECTED]>**20081004223547 Ignore-this: 33ebc10cd54112ec101750dd6c75fdf9 ] [Move merging_newlines test to bugs and add a simpler version. Eric Kow <[EMAIL PROTECTED]>**20081004135724 There are two issues I noticed when converting this Perl test into shell. This test was passing, but I made some mistakes translating it, and in doing so, noticed two potential bugs. The first is a potentially hidden conflict. If we start from a file from temp1 <EOF> And then it seems that a change which adds an empty line should conflict with a change that adds a line with content. The second is that if you do omit the newline, as the original test does, from temp1<EOF> you get some strange-looking changes, namely that appending a line to this yields two addline changes and not one. ] [Translate some more Perl tests into shell. Eric Kow <[EMAIL PROTECTED]>**20081004201632] [Translate some more Perl tests into shell. Eric Kow <[EMAIL PROTECTED]>**20081004163850 Shell equivalents already exist for these particular tests, but they may not do the same thing. ] [Move non-date-matching code out of match.pl Eric Kow <[EMAIL PROTECTED]>**20081004145445 The goal is to minimise and eventually eliminate our use of Perl for regression tests. ] [Fix minor bug in conflict-doppelganger test. Eric Kow <[EMAIL PROTECTED]>**20081004163746 It does not account for --old-fashioned-inventory being in .darcs/defaults ] [Update tests to reflect --darcs-2 default. Eric Kow <[EMAIL PROTECTED]>**20080925143252 We need to explicitly say --old-fashioned-inventory to test accordingly. ] [Translate some more Perl tests into shell. Eric Kow <[EMAIL PROTECTED]>**20081004092507] [remove -q from diff in test, not supported on solaris Tommy Pettersson <[EMAIL PROTECTED]>**20081003205756] [Translate some Perl tests into shell. Eric Kow <[EMAIL PROTECTED]>**20081003183746] [Convert tag.pl test into shell. Eric Kow <[EMAIL PROTECTED]>**20081003095231] [make default_boring and default_binaries NOINLINE David Roundy <[EMAIL PROTECTED]>**20081001202731 Ignore-this: f74741738a612bb283d1e871d70aa492 This is primarily so I won't have to recompile all of darcs when these change, but also because they shouldn't be inlined. It would just be a waste of space (and would slow down darcs). ] [fix bug in 1105 fix that led to improper overrides of defaults David Roundy <[EMAIL PROTECTED]>**20081001175907 Ignore-this: 8413d2596f97076ccb096900585f0c62 The problem is illustrated in the tests/override-defaults.sh that I've recorded separately. We want conflicting defaults in ~/.darcs/defaults and _darcs/prefs/defaults to be resolved in favor of the default residing in _darcs/prefs/defaults. ] [add test that overriding of defaults works right. David Roundy <[EMAIL PROTECTED]>**20081001175645 Ignore-this: aedfd923676b1fa35c25c72abb88c8f3 ] [Test for issue1105. Dmitry Kurochkin <[EMAIL PROTECTED]>**20080929142205 Ignore-this: 5b7c2f7d270ab614eb1294566048a586 ] [Resolve issue1105: check if default options are valid. Dmitry Kurochkin <[EMAIL PROTECTED]>**20080929141948 Ignore-this: 17b4b27e31545689f21496f7fc9c9fe7 ] [Restore 'simplify patches in rollback'. Eric Kow <[EMAIL PROTECTED]>**20080926225429] [Restore issue27 patches. Eric Kow <[EMAIL PROTECTED]>**20080926222522 rolling back: Fri Sep 26 23:01:19 BST 2008 Eric Kow <[EMAIL PROTECTED]> * Resolve issue1102: recognise but do not generate patch log 'junk'. ] [Implement Commands.Check in terms of Repository.Repair functionality. [EMAIL PROTECTED] [Implement Commands.Repair in terms of Repository.Repair functionality. [EMAIL PROTECTED] [Export testTentative from Darcs.Repository. [EMAIL PROTECTED] [Implement Repository.Repair to provide primitives for check and repair commands. [EMAIL PROTECTED] [keep changepref patches from breaking the toSimple optimization. David Roundy <[EMAIL PROTECTED]>**20080924162022 Ignore-this: 404a4386b048b74dd9afcdde47bc1b11 ] [rewrite push_coalesce_patch to avoid calls to lengthFL. David Roundy <[EMAIL PROTECTED]>**20080924161517 Ignore-this: cf746702c3b1e06ab2d400878e20e305 ] [make various autoconf simplifications. David Roundy <[EMAIL PROTECTED]>**20080923150742 Ignore-this: 213c53eda0b54c01909c8d15b2a5fdd6 ] [TAG 2.1.0 Eric Kow <[EMAIL PROTECTED]>**20081009120532] Patch bundle hash: 0ad055df29325e5fc42efe4f3974c637fe77d9c0
_______________________________________________ darcs-users mailing list darcs-users@darcs.net http://lists.osuosl.org/mailman/listinfo/darcs-users