tests/test-journal-exists.t
author Gregory Szorc <gregory.szorc@gmail.com>
Sun, 20 Apr 2014 16:44:45 -0700
changeset 21464 d19164a018a1
parent 21274 3b4c75690206
child 39506 f1186c292d03
permissions -rw-r--r--
run-tests: execute tests via unittest Now that unittest mode is functionally equivalent to the default mode, we switch the default execution mode to unittest and remove the choice of different execution modes.

  $ hg init
  $ echo a > a
  $ hg ci -Am0
  adding a

  $ hg -q clone . foo

  $ touch .hg/store/journal

  $ echo foo > a
  $ hg ci -Am0
  abort: abandoned transaction found!
  (run 'hg recover' to clean up transaction)
  [255]

  $ hg recover
  rolling back interrupted transaction
  checking changesets
  checking manifests
  crosschecking files in changesets and manifests
  checking files
  1 files, 1 changesets, 1 total revisions

Check that zero-size journals are correctly aborted:

#if unix-permissions no-root
  $ hg bundle -qa repo.hg
  $ chmod -w foo/.hg/store/00changelog.i

  $ hg -R foo unbundle repo.hg
  adding changesets
  abort: Permission denied: $TESTTMP/foo/.hg/store/.00changelog.i-* (glob)
  [255]

  $ if test -f foo/.hg/store/journal; then echo 'journal exists :-('; fi
#endif