Greg Troxel
unread,Aug 30, 2025, 3:19:36 PMAug 30Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
  to Rob Browning, bup-...@googlegroups.com
I had started tests on 0.33.x and then got distracted.
Looks like nonportable usage has been added:
  script: unknown option -- e
  Usage: script [-c <command>][-adfpqr] [file]
According to the NetBSD man page, script appeared in 3.0BSD and has
invocation synopsis:
    script [-adfpqr] [-c command] [file]
NetBSD 10 adds -e, and I can't find script in POSIX.
full log, but this seems to be 3 cases of script -e.
----------------------------------------
Warning: pandoc not found; skipping generation of related documents
mkdir test/tmp
./pylint
./pylint: doing nothing given ./configure --with-pylint=no
! bup version  # Ensure we can't test the local bup (cf. dev/shadow-bin)
error: something ran "bup"; bup imposter intentionally failing
./bup features
bup 0.33.9~48206095a6fc4d772282aa29a1666799198ff451
Source 48206095a6fc4d772282aa29a1666799198ff451 2025-08-28 18:29:43 -0400
    Python: 3.12.11
    Command line editing (e.g. bup ftp): yes
    Saving and restoring POSIX ACLs: no
    Saving and restoring extended attributes (xattrs): no
if test yes = "$(dev/python -c 'import xdist; print("yes")' 2>/dev/null)"; then \
   (set -x; ./pytest ;) \
else \
  (set -x; ./pytest;) \
fi
+ ./pytest
============================= test session starts ==============================
platform netbsd9 -- Python 3.12.11, pytest-8.4.0, pluggy-1.6.0 -- /home/gdt/SOFTWARE/BUP/bup/dev/bup-python
cachedir: .pytest_cache
rootdir: /home/gdt/SOFTWARE/BUP/bup
configfile: pytest.ini
testpaths: test/int, test/ext
collecting ... collected 134 items / 1 deselected / 133 selected
test/ext/test_get.py::test_get[get-replace] PASSED                       [  0%]
test/ext/test_get.py::test_get[get-universal] PASSED                     [  1%]
test/ext/test_get.py::test_get[get-ff] PASSED                            [  2%]
test/ext/test_get.py::test_get[get-append] PASSED                        [  3%]
test/ext/test_get.py::test_get[get-pick_force] PASSED                    [  3%]
test/ext/test_get.py::test_get[get-pick_noforce] PASSED                  [  4%]
test/ext/test_get.py::test_get[get-new_tag] PASSED                       [  5%]
test/ext/test_get.py::test_get[get-unnamed] PASSED                       [  6%]
test/ext/test-cat-file:: PASSED                                          [  6%]
test/ext/test-command-without-init-fails:: PASSED                        [  7%]
test/ext/test-comparative-split-join:: SKIPPED (! /home/gdt/SOFTWARE...) [  8%]
test/ext/test-compression:: PASSED                                       [  9%]
test/ext/test-drecurse:: PASSED                                          [  9%]
test/ext/test-fsck:: PASSED                                              [ 10%]
test/ext/test-fuse:: PASSED                                              [ 11%]
test/ext/test-gc:: PASSED                                                [ 12%]
test/ext/test-gc-removes-incomplete-trees:: PASSED                       [ 12%]
test/ext/test-get-missing:: PASSED                                       [ 13%]
test/ext/test-help:: PASSED                                              [ 14%]
test/ext/test-import-duplicity:: SKIPPED (! /home/gdt/SOFTWARE/BUP/b...) [ 15%]
test/ext/test-import-rdiff-backup:: SKIPPED (! /home/gdt/SOFTWARE/BU...) [ 15%]
test/ext/test-index:: PASSED                                             [ 16%]
test/ext/test-index-check-device:: SKIPPED (! /home/gdt/SOFTWARE/BUP...) [ 17%]
test/ext/test-index-clear:: PASSED                                       [ 18%]
test/ext/test-index-save-type-change:: PASSED                            [ 18%]
test/ext/test-list-idx:: PASSED                                          [ 19%]
test/ext/test-ls:: FAILED                                                [ 20%]
test/ext/test-ls-remote:: FAILED                                         [ 21%]
test/ext/test-main:: PASSED                                              [ 21%]
test/ext/test-meta:: PASSED                                              [ 22%]
test/ext/test-meta-acls:: SKIPPED (! /home/gdt/SOFTWARE/BUP/bup/test...) [ 23%]
test/ext/test-misc:: FAILED                                              [ 24%]
test/ext/test-on:: PASSED                                                [ 24%]
test/ext/test-packsizelimit:: PASSED                                     [ 25%]
test/ext/test-redundant-saves:: PASSED                                   [ 26%]
test/ext/test-restore-map-owner:: SKIPPED (! /home/gdt/SOFTWARE/BUP/...) [ 27%]
test/ext/test-restore-single-file:: PASSED                               [ 27%]
test/ext/test-rm:: PASSED                                                [ 28%]
test/ext/test-rm-between-index-and-save:: PASSED                         [ 29%]
test/ext/test-save-creates-no-unrefs:: PASSED                            [ 30%]
test/ext/test-save-data-race:: PASSED                                    [ 30%]
test/ext/test-save-errors:: PASSED                                       [ 31%]
test/ext/test-save-restore:: PASSED                                      [ 32%]
test/ext/test-save-restore-excludes:: PASSED                             [ 33%]
test/ext/test-save-smaller:: PASSED                                      [ 33%]
test/ext/test-save-strip-graft:: PASSED                                  [ 34%]
test/ext/test-save-symlink-race:: PASSED                                 [ 35%]
test/ext/test-save-with-valid-parent:: PASSED                            [ 36%]
test/ext/test-sparse-files:: PASSED                                      [ 36%]
test/ext/test-split-join:: PASSED                                        [ 37%]
test/ext/test-tz:: PASSED                                                [ 38%]
test/ext/test-validate-object-links:: PASSED                             [ 39%]
test/ext/test-validate-ref-links:: PASSED                                [ 39%]
test/ext/test-walk-object-order:: PASSED                                 [ 40%]
test/ext/test-web:: PASSED                                               [ 41%]
test/ext/test-xdev:: SKIPPED (! /home/gdt/SOFTWARE/BUP/bup/test/ext/...) [ 42%]
test/ext/test_argv.py::test_argv PASSED                                  [ 42%]
test/ext/test_ftp.py::test_ftp PASSED                                    [ 43%]
test/ext/test_prune_older.py::test_prune_older PASSED                    [ 44%]
test/int/test_bloom.py::test_bloom PASSED                                [ 45%]
test/int/test_client.py::test_server_split_with_indexes PASSED           [ 45%]
test/int/test_client.py::test_multiple_suggestions PASSED                [ 46%]
test/int/test_client.py::test_dumb_client_server PASSED                  [ 47%]
test/int/test_client.py::test_midx_refreshing PASSED                     [ 48%]
test/int/test_client.py::test_remote_parsing PASSED                      [ 48%]
test/int/test_compat.py::test_pending_raise PASSED                       [ 49%]
test/int/test_git.py::test_git_version_detection PASSED                  [ 50%]
test/int/test_git.py::test_mangle PASSED                                 [ 51%]
test/int/test_git.py::test_encode PASSED                                 [ 51%]
test/int/test_git.py::test_packs PASSED                                  [ 52%]
test/int/test_git.py::test_pack_name_lookup PASSED                       [ 53%]
test/int/test_git.py::test_long_index PASSED                             [ 54%]
test/int/test_git.py::test_check_repo_or_die PASSED                      [ 54%]
test/int/test_git.py::test_commit_parsing PASSED                         [ 55%]
test/int/test_git.py::test_commit_gpgsig_parsing PASSED                  [ 56%]
test/int/test_git.py::test_new_commit PASSED                             [ 57%]
test/int/test_git.py::test_list_refs PASSED                              [ 57%]
test/int/test_git.py::test_git_date_str PASSED                           [ 58%]
test/int/test_git.py::test_cat_pipe PASSED                               [ 59%]
test/int/test_git.py::test_midx_close PASSED                             [ 60%]
test/int/test_git.py::test_config PASSED                                 [ 60%]
test/int/test_hashsplit.py::test_nonresident_page_regions PASSED         [ 61%]
test/int/test_hashsplit.py::test_uncache_ours_upto PASSED                [ 62%]
test/int/test_hashsplit.py::test_rolling_sums PASSED                     [ 63%]
test/int/test_hashsplit.py::test_fanout_behaviour PASSED                 [ 63%]
test/int/test_helpers.py::test_parse_num PASSED                          [ 64%]
test/int/test_helpers.py::test_detect_fakeroot PASSED                    [ 65%]
test/int/test_helpers.py::test_path_components PASSED                    [ 66%]
test/int/test_helpers.py::test_stripped_path_components PASSED           [ 66%]
test/int/test_helpers.py::test_grafted_path_components PASSED            [ 67%]
test/int/test_helpers.py::test_shstr PASSED                              [ 68%]
test/int/test_helpers.py::test_readpipe PASSED                           [ 69%]
test/int/test_helpers.py::test_batchpipe PASSED                          [ 69%]
test/int/test_helpers.py::test_atomically_replaced_file PASSED           [ 70%]
test/int/test_helpers.py::test_utc_offset_str PASSED                     [ 71%]
test/int/test_helpers.py::test_valid_save_name PASSED                    [ 72%]
test/int/test_index.py::test_index_basic PASSED                          [ 72%]
test/int/test_index.py::test_index_writer PASSED                         [ 73%]
test/int/test_index.py::test_index_negative_timestamps PASSED            [ 74%]
test/int/test_index.py::test_index_dirty PASSED                          [ 75%]
test/int/test_metadata.py::test_clean_up_archive_path PASSED             [ 75%]
test/int/test_metadata.py::test_risky_path PASSED                        [ 76%]
test/int/test_metadata.py::test_clean_up_extract_path PASSED             [ 77%]
test/int/test_metadata.py::test_metadata_method PASSED                   [ 78%]
test/int/test_metadata.py::test_from_path_error PASSED                   [ 78%]
test/int/test_metadata.py::test_apply_to_path_restricted_access PASSED   [ 79%]
test/int/test_metadata.py::test_restore_over_existing_target PASSED      [ 80%]
test/int/test_midx.py::test_missing_midx PASSED                          [ 81%]
test/int/test_options.py::test_optdict PASSED                            [ 81%]
test/int/test_options.py::test_invalid_optspec PASSED                    [ 82%]
test/int/test_options.py::test_options PASSED                            [ 83%]
test/int/test_resolve.py::test_local_resolve PASSED                      [ 84%]
test/int/test_resolve.py::test_remote_resolve PASSED                     [ 84%]
test/int/test_resolve.py::test_local_resolve_loop PASSED                 [ 85%]
test/int/test_resolve.py::test_remote_resolve_loop PASSED                [ 86%]
test/int/test_shquote.py::test_shquote PASSED                            [ 87%]
test/int/test_vfs.py::test_default_modes PASSED                          [ 87%]
test/int/test_vfs.py::test_cache_behavior PASSED                         [ 88%]
test/int/test_vfs.py::test_item_mode PASSED                              [ 89%]
test/int/test_vfs.py::test_reverse_suffix_duplicates PASSED              [ 90%]
test/int/test_vfs.py::test_misc PASSED                                   [ 90%]
test/int/test_vfs.py::test_read_and_seek PASSED                          [ 91%]
test/int/test_vfs.py::test_contents_with_mismatched_bupm_git_ordering PASSED [ 92%]
test/int/test_vfs.py::test_duplicate_save_dates PASSED                   [ 93%]
test/int/test_vfs.py::test_item_read_write PASSED                        [ 93%]
test/int/test_vint.py::test_vuint PASSED                                 [ 94%]
test/int/test_vint.py::test_vint PASSED                                  [ 95%]
test/int/test_vint.py::test_bvec PASSED                                  [ 96%]
test/int/test_vint.py::test_pack_and_unpack PASSED                       [ 96%]
test/int/test_xstat.py::test_fstime PASSED                               [ 97%]
test/int/test_xstat.py::test_bup_utimensat PASSED                        [ 98%]
test/int/test_xstat.py::test_bup_utimes PASSED                           [ 99%]
test/int/test_xstat.py::test_bup_lutimes PASSED                          [100%]
=================================== FAILURES ===================================
_________________ /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls __________________
Exit status: 1
Failures:
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:307  with-tty /home/gdt/SOFTWARE/BUP/bup/bup ls -l src/latest  FAILED
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:308  '3000' = '0'  FAILED
----------------------------- Captured stdout call -----------------------------
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:7  pwd  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:8  wvmktempdir  ok
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
hint:
hint: Disable this message with "git config set advice.defaultBranchName false"
Initialized empty Git repository in /home/gdt/SOFTWARE/BUP/bup/test/tmp/test-ls-SwLZVKR/bup/
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:33  bup init  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:34  cd /home/gdt/SOFTWARE/BUP/bup/test/tmp/test-ls-SwLZVKR  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:36  mkdir src  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:37  touch src/.dotfile src/executable  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:38  mkfifo src/fifo  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:39  /home/gdt/SOFTWARE/BUP/bup/dev/mksock src/socket  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:40  bup random 1k  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:41  chmod u+x src/executable  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:42  chmod -R u=rwX,g-rwx,o-rwx .  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:43  touch -t 200910032348 src/.dotfile src/executable src/fifo src/file src/socket  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:44  cd src  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:44  ln -s file symlink  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:45  cd src  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:45  ln -s not-there bad-symlink  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:46  touch -t 200910032348 src  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:47  touch -t 200910032348 .  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:48  bup index src  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:50  bup save -n src -d 242312159 --strip src  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:51  bup save -n src -d 242312160 --strip src  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:52  bup tag some-tag src  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:54  id -u  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:55  bup-cfg-py -c import os; print(os.stat("src").st_gid)  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:56  id -un  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:58  bup-cfg-py -c import grp, os; print(grp.getgrgid(os.stat("src").st_gid)[0])  ok
Testing "ls (short)" in /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:65  bup-ls  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:65  exactly 2 arguments  ok
Comparing:
src
--
src
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:65  'src' = 'src'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:67  bup-ls /  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:67  exactly 2 arguments  ok
Comparing:
src
--
src
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:67  'src' = 'src'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:69  bup-ls -A /  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:69  exactly 2 arguments  ok
Comparing:
.tag
src
--
.tag
src
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:69  '.tag src' = '.tag src'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:72  bup-ls -AF /  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:72  exactly 2 arguments  ok
Comparing:
.tag/
src/
--
.tag/
src/
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:72  '.tag/ src/' = '.tag/ src/'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:75  bup-ls -a /  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:75  exactly 2 arguments  ok
Comparing:
.
..
.tag
src
--
.
..
.tag
src
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:75  '. .. .tag src' = '. .. .tag src'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:80  bup-ls -aF /  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:80  exactly 2 arguments  ok
Comparing:
./
../
.tag/
src/
--
./
../
.tag/
src/
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:80  './ ../ .tag/ src/' = './ ../ .tag/ src/'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:85  bup-ls /.tag  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:85  exactly 2 arguments  ok
Comparing:
some-tag
--
some-tag
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:85  'some-tag' = 'some-tag'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:87  bup-ls /src  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:87  exactly 2 arguments  ok
Comparing:
1977-09-05-125559
1977-09-05-125600
latest
--
1977-09-05-125559
1977-09-05-125600
latest
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:87  '1977-09-05-125559 1977-09-05-125600 latest' = '1977-09-05-125559 1977-09-05-125600 latest'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:92  bup-ls src/latest  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:92  exactly 2 arguments  ok
Comparing:
bad-symlink
executable
fifo
file
socket
symlink
--
bad-symlink
executable
fifo
file
socket
symlink
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:92  'bad-symlink executable fifo file socket symlink' = 'bad-symlink executable fifo file socket symlink'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:99  bup-ls -A src/latest  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:99  exactly 2 arguments  ok
Comparing:
.dotfile
bad-symlink
executable
fifo
file
socket
symlink
--
.dotfile
bad-symlink
executable
fifo
file
socket
symlink
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:99  '.dotfile bad-symlink executable fifo file socket symlink' = '.dotfile bad-symlink executable fifo file socket symlink'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:107  bup-ls -a src/latest  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:107  exactly 2 arguments  ok
Comparing:
.
..
.dotfile
bad-symlink
executable
fifo
file
socket
symlink
--
.
..
.dotfile
bad-symlink
executable
fifo
file
socket
symlink
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:107  '. .. .dotfile bad-symlink executable fifo file socket symlink' = '. .. .dotfile bad-symlink executable fifo file socket symlink'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:117  bup-ls -F src/latest  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:117  exactly 2 arguments  ok
Comparing:
bad-symlink@
executable*
fifo|
file
socket=
symlink@
--
bad-symlink@
executable*
fifo|
file
socket=
symlink@
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:117  'bad-symlink@ executable* fifo| file socket= symlink@' = 'bad-symlink@ executable* fifo| file socket= symlink@'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:124  bup-ls --file-type src/latest  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:124  exactly 2 arguments  ok
Comparing:
bad-symlink@
executable
fifo|
file
socket=
symlink@
--
bad-symlink@
executable
fifo|
file
socket=
symlink@
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:124  'bad-symlink@ executable fifo| file socket= symlink@' = 'bad-symlink@ executable fifo| file socket= symlink@'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:131  bup-ls -d src/latest  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:131  exactly 2 arguments  ok
Comparing:
src/latest
--
src/latest
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:131  'src/latest' = 'src/latest'  ok
Testing "ls (long)" in /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:136  bup-ls -l /  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:136  exactly 2 arguments  ok
Comparing:
drwx------ gdt/lexort 0 2009-10-03 23:48 src
--
drwx------ gdt/lexort 0 2009-10-03 23:48 src
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:136  'drwx------ gdt/lexort 0 2009-10-03 23:48 src' = 'drwx------ gdt/lexort 0 2009-10-03 23:48 src'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:139  bup-ls -lA /  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:139  exactly 2 arguments  ok
Comparing:
drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag
drwx------ gdt/lexort 0 2009-10-03 23:48 src
--
drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag
drwx------ gdt/lexort 0 2009-10-03 23:48 src
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:139  'drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag drwx------ gdt/lexort 0 2009-10-03 23:48 src' = 'drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag drwx------ gdt/lexort 0 2009-10-03 23:48 src'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:143  bup-ls -lAF /  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:143  exactly 2 arguments  ok
Comparing:
drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag/
drwx------ gdt/lexort 0 2009-10-03 23:48 src/
--
drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag/
drwx------ gdt/lexort 0 2009-10-03 23:48 src/
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:143  'drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag/ drwx------ gdt/lexort 0 2009-10-03 23:48 src/' = 'drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag/ drwx------ gdt/lexort 0 2009-10-03 23:48 src/'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:147  bup-ls -la /  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:147  exactly 2 arguments  ok
Comparing:
drwxr-xr-x ?/? 0 1970-01-01 00:00 .
drwxr-xr-x ?/? 0 1970-01-01 00:00 ..
drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag
drwx------ gdt/lexort 0 2009-10-03 23:48 src
--
drwxr-xr-x ?/? 0 1970-01-01 00:00 .
drwxr-xr-x ?/? 0 1970-01-01 00:00 ..
drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag
drwx------ gdt/lexort 0 2009-10-03 23:48 src
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:147  'drwxr-xr-x ?/? 0 1970-01-01 00:00 . drwxr-xr-x ?/? 0 1970-01-01 00:00 .. drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag drwx------ gdt/lexort 0 2009-10-03 23:48 src' = 'drwxr-xr-x ?/? 0 1970-01-01 00:00 . drwxr-xr-x ?/? 0 1970-01-01 00:00 .. drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag drwx------ gdt/lexort 0 2009-10-03 23:48 src'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:153  bup-ls -laF /  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:153  exactly 2 arguments  ok
Comparing:
drwxr-xr-x ?/? 0 1970-01-01 00:00 ./
drwxr-xr-x ?/? 0 1970-01-01 00:00 ../
drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag/
drwx------ gdt/lexort 0 2009-10-03 23:48 src/
--
drwxr-xr-x ?/? 0 1970-01-01 00:00 ./
drwxr-xr-x ?/? 0 1970-01-01 00:00 ../
drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag/
drwx------ gdt/lexort 0 2009-10-03 23:48 src/
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:153  'drwxr-xr-x ?/? 0 1970-01-01 00:00 ./ drwxr-xr-x ?/? 0 1970-01-01 00:00 ../ drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag/ drwx------ gdt/lexort 0 2009-10-03 23:48 src/' = 'drwxr-xr-x ?/? 0 1970-01-01 00:00 ./ drwxr-xr-x ?/? 0 1970-01-01 00:00 ../ drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag/ drwx------ gdt/lexort 0 2009-10-03 23:48 src/'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:159  ls -l src/socket  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:162  ls -l src/bad-symlink  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:164  bup-ls -l src/latest  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:167  echo lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 bad-symlink -> not-there  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:167  perl -ne m/.*? (\d+) (\d\d\d\d-\d\d-\d\d \d\d:\d\d)/ and print $2  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:178  echo lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 bad-symlink -> not-there  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:178  perl -ne m/.*? (\d+) (\d\d\d\d-\d\d-\d\d \d\d:\d\d)/ and print $1  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:183  ls -l src/symlink  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:185  bup-ls -l src/latest  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:188  echo lrwxr-xr-x gdt/lexort 4 2025-08-28 22:40 symlink -> file  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:188  perl -ne m/.*? (\d+) (\d\d\d\d-\d\d-\d\d \d\d:\d\d)/ and print $2  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:199  echo lrwxr-xr-x gdt/lexort 4 2025-08-28 22:40 symlink -> file  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:199  perl -ne m/.*? (\d+) (\d\d\d\d-\d\d-\d\d \d\d:\d\d)/ and print $1  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:203  exactly 2 arguments  ok
Comparing:
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 bad-symlink -> not-there
-rwx------ gdt/lexort 0 2009-10-03 23:48 executable
prw------- gdt/lexort 0 2009-10-03 23:48 fifo
-rw------- gdt/lexort 1024 2009-10-03 23:48 file
srwx------ gdt/lexort 0 2009-10-03 23:48 socket
lrwxr-xr-x gdt/lexort 4 2025-08-28 22:40 symlink -> file
--
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 bad-symlink -> not-there
-rwx------ gdt/lexort 0 2009-10-03 23:48 executable
prw------- gdt/lexort 0 2009-10-03 23:48 fifo
-rw------- gdt/lexort 1024 2009-10-03 23:48 file
srwx------ gdt/lexort 0 2009-10-03 23:48 socket
lrwxr-xr-x gdt/lexort 4 2025-08-28 22:40 symlink -> file
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:203  'lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 bad-symlink -> not-there -rwx------ gdt/lexort 0 2009-10-03 23:48 executable prw------- gdt/lexort 0 2009-10-03 23:48 fifo -rw------- gdt/lexort 1024 2009-10-03 23:48 file srwx------ gdt/lexort 0 2009-10-03 23:48 socket lrwxr-xr-x gdt/lexort 4 2025-08-28 22:40 symlink -> file' = 'lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 bad-symlink -> not-there -rwx------ gdt/lexort 0 2009-10-03 23:48 executable prw------- gdt/lexort 0 2009-10-03 23:48 fifo -rw------- gdt/lexort 1024 2009-10-03 23:48 file srwx------ gdt/lexort 0 2009-10-03 23:48 socket lrwxr-xr-x gdt/lexort 4 2025-08-28 22:40 symlink -> file'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:211  exactly 2 arguments  ok
Comparing:
drwx------ gdt/lexort 0 2009-10-03 23:48 .
drwx------ gdt/lexort 0 2009-10-03 23:48 ..
-rw------- gdt/lexort 0 2009-10-03 23:48 .dotfile
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 bad-symlink -> not-there
-rwx------ gdt/lexort 0 2009-10-03 23:48 executable
prw------- gdt/lexort 0 2009-10-03 23:48 fifo
-rw------- gdt/lexort 1024 2009-10-03 23:48 file
srwx------ gdt/lexort 0 2009-10-03 23:48 socket
lrwxr-xr-x gdt/lexort 4 2025-08-28 22:40 symlink -> file
--
drwx------ gdt/lexort 0 2009-10-03 23:48 .
drwx------ gdt/lexort 0 2009-10-03 23:48 ..
-rw------- gdt/lexort 0 2009-10-03 23:48 .dotfile
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 bad-symlink -> not-there
-rwx------ gdt/lexort 0 2009-10-03 23:48 executable
prw------- gdt/lexort 0 2009-10-03 23:48 fifo
-rw------- gdt/lexort 1024 2009-10-03 23:48 file
srwx------ gdt/lexort 0 2009-10-03 23:48 socket
lrwxr-xr-x gdt/lexort 4 2025-08-28 22:40 symlink -> file
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:211  'drwx------ gdt/lexort 0 2009-10-03 23:48 . drwx------ gdt/lexort 0 2009-10-03 23:48 .. -rw------- gdt/lexort 0 2009-10-03 23:48 .dotfile lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 bad-symlink -> not-there -rwx------ gdt/lexort 0 2009-10-03 23:48 executable prw------- gdt/lexort 0 2009-10-03 23:48 fifo -rw------- gdt/lexort 1024 2009-10-03 23:48 file srwx------ gdt/lexort 0 2009-10-03 23:48 socket lrwxr-xr-x gdt/lexort 4 2025-08-28 22:40 symlink -> file' = 'drwx------ gdt/lexort 0 2009-10-03 23:48 . drwx------ gdt/lexort 0 2009-10-03 23:48 .. -rw------- gdt/lexort 0 2009-10-03 23:48 .dotfile lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 bad-symlink -> not-there -rwx------ gdt/lexort 0 2009-10-03 23:48 executable prw------- gdt/lexort 0 2009-10-03 23:48 fifo -rw------- gdt/lexort 1024 2009-10-03 23:48 file srwx------ gdt/lexort 0 2009-10-03 23:48 socket lrwxr-xr-x gdt/lexort 4 2025-08-28 22:40 symlink -> file'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:222  exactly 2 arguments  ok
Comparing:
-rw------- gdt/lexort 0 2009-10-03 23:48 .dotfile
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 bad-symlink -> not-there
-rwx------ gdt/lexort 0 2009-10-03 23:48 executable
prw------- gdt/lexort 0 2009-10-03 23:48 fifo
-rw------- gdt/lexort 1024 2009-10-03 23:48 file
srwx------ gdt/lexort 0 2009-10-03 23:48 socket
lrwxr-xr-x gdt/lexort 4 2025-08-28 22:40 symlink -> file
--
-rw------- gdt/lexort 0 2009-10-03 23:48 .dotfile
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 bad-symlink -> not-there
-rwx------ gdt/lexort 0 2009-10-03 23:48 executable
prw------- gdt/lexort 0 2009-10-03 23:48 fifo
-rw------- gdt/lexort 1024 2009-10-03 23:48 file
srwx------ gdt/lexort 0 2009-10-03 23:48 socket
lrwxr-xr-x gdt/lexort 4 2025-08-28 22:40 symlink -> file
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:222  '-rw------- gdt/lexort 0 2009-10-03 23:48 .dotfile lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 bad-symlink -> not-there -rwx------ gdt/lexort 0 2009-10-03 23:48 executable prw------- gdt/lexort 0 2009-10-03 23:48 fifo -rw------- gdt/lexort 1024 2009-10-03 23:48 file srwx------ gdt/lexort 0 2009-10-03 23:48 socket lrwxr-xr-x gdt/lexort 4 2025-08-28 22:40 symlink -> file' = '-rw------- gdt/lexort 0 2009-10-03 23:48 .dotfile lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 bad-symlink -> not-there -rwx------ gdt/lexort 0 2009-10-03 23:48 executable prw------- gdt/lexort 0 2009-10-03 23:48 fifo -rw------- gdt/lexort 1024 2009-10-03 23:48 file srwx------ gdt/lexort 0 2009-10-03 23:48 socket lrwxr-xr-x gdt/lexort 4 2025-08-28 22:40 symlink -> file'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:231  exactly 2 arguments  ok
Comparing:
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 bad-symlink@ -> not-there
-rwx------ gdt/lexort 0 2009-10-03 23:48 executable*
prw------- gdt/lexort 0 2009-10-03 23:48 fifo|
-rw------- gdt/lexort 1024 2009-10-03 23:48 file
srwx------ gdt/lexort 0 2009-10-03 23:48 socket=
lrwxr-xr-x gdt/lexort 4 2025-08-28 22:40 symlink@ -> file
--
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 bad-symlink@ -> not-there
-rwx------ gdt/lexort 0 2009-10-03 23:48 executable*
prw------- gdt/lexort 0 2009-10-03 23:48 fifo|
-rw------- gdt/lexort 1024 2009-10-03 23:48 file
srwx------ gdt/lexort 0 2009-10-03 23:48 socket=
lrwxr-xr-x gdt/lexort 4 2025-08-28 22:40 symlink@ -> file
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:231  'lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 bad-symlink@ -> not-there -rwx------ gdt/lexort 0 2009-10-03 23:48 executable* prw------- gdt/lexort 0 2009-10-03 23:48 fifo| -rw------- gdt/lexort 1024 2009-10-03 23:48 file srwx------ gdt/lexort 0 2009-10-03 23:48 socket= lrwxr-xr-x gdt/lexort 4 2025-08-28 22:40 symlink@ -> file' = 'lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 bad-symlink@ -> not-there -rwx------ gdt/lexort 0 2009-10-03 23:48 executable* prw------- gdt/lexort 0 2009-10-03 23:48 fifo| -rw------- gdt/lexort 1024 2009-10-03 23:48 file srwx------ gdt/lexort 0 2009-10-03 23:48 socket= lrwxr-xr-x gdt/lexort 4 2025-08-28 22:40 symlink@ -> file'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:239  exactly 2 arguments  ok
Comparing:
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 bad-symlink@ -> not-there
-rwx------ gdt/lexort 0 2009-10-03 23:48 executable
prw------- gdt/lexort 0 2009-10-03 23:48 fifo|
-rw------- gdt/lexort 1024 2009-10-03 23:48 file
srwx------ gdt/lexort 0 2009-10-03 23:48 socket=
lrwxr-xr-x gdt/lexort 4 2025-08-28 22:40 symlink@ -> file
--
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 bad-symlink@ -> not-there
-rwx------ gdt/lexort 0 2009-10-03 23:48 executable
prw------- gdt/lexort 0 2009-10-03 23:48 fifo|
-rw------- gdt/lexort 1024 2009-10-03 23:48 file
srwx------ gdt/lexort 0 2009-10-03 23:48 socket=
lrwxr-xr-x gdt/lexort 4 2025-08-28 22:40 symlink@ -> file
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:239  'lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 bad-symlink@ -> not-there -rwx------ gdt/lexort 0 2009-10-03 23:48 executable prw------- gdt/lexort 0 2009-10-03 23:48 fifo| -rw------- gdt/lexort 1024 2009-10-03 23:48 file srwx------ gdt/lexort 0 2009-10-03 23:48 socket= lrwxr-xr-x gdt/lexort 4 2025-08-28 22:40 symlink@ -> file' = 'lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 bad-symlink@ -> not-there -rwx------ gdt/lexort 0 2009-10-03 23:48 executable prw------- gdt/lexort 0 2009-10-03 23:48 fifo| -rw------- gdt/lexort 1024 2009-10-03 23:48 file srwx------ gdt/lexort 0 2009-10-03 23:48 socket= lrwxr-xr-x gdt/lexort 4 2025-08-28 22:40 symlink@ -> file'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:247  exactly 2 arguments  ok
Comparing:
lrwxr-xr-x 10853/700 9 2025-08-28 22:40 bad-symlink -> not-there
-rwx------ 10853/700 0 2009-10-03 23:48 executable
prw------- 10853/700 0 2009-10-03 23:48 fifo
-rw------- 10853/700 1024 2009-10-03 23:48 file
srwx------ 10853/700 0 2009-10-03 23:48 socket
lrwxr-xr-x 10853/700 4 2025-08-28 22:40 symlink -> file
--
lrwxr-xr-x 10853/700 9 2025-08-28 22:40 bad-symlink -> not-there
-rwx------ 10853/700 0 2009-10-03 23:48 executable
prw------- 10853/700 0 2009-10-03 23:48 fifo
-rw------- 10853/700 1024 2009-10-03 23:48 file
srwx------ 10853/700 0 2009-10-03 23:48 socket
lrwxr-xr-x 10853/700 4 2025-08-28 22:40 symlink -> file
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:247  'lrwxr-xr-x 10853/700 9 2025-08-28 22:40 bad-symlink -> not-there -rwx------ 10853/700 0 2009-10-03 23:48 executable prw------- 10853/700 0 2009-10-03 23:48 fifo -rw------- 10853/700 1024 2009-10-03 23:48 file srwx------ 10853/700 0 2009-10-03 23:48 socket lrwxr-xr-x 10853/700 4 2025-08-28 22:40 symlink -> file' = 'lrwxr-xr-x 10853/700 9 2025-08-28 22:40 bad-symlink -> not-there -rwx------ 10853/700 0 2009-10-03 23:48 executable prw------- 10853/700 0 2009-10-03 23:48 fifo -rw------- 10853/700 1024 2009-10-03 23:48 file srwx------ 10853/700 0 2009-10-03 23:48 socket lrwxr-xr-x 10853/700 4 2025-08-28 22:40 symlink -> file'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:255  exactly 2 arguments  ok
Comparing:
lrwxr-xr-x ?/? 17 1970-01-01 00:00 src/latest -> 1977-09-05-125600
--
lrwxr-xr-x ?/? 17 1970-01-01 00:00 src/latest -> 1977-09-05-125600
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:255  'lrwxr-xr-x ?/? 17 1970-01-01 00:00 src/latest -> 1977-09-05-125600' = 'lrwxr-xr-x ?/? 17 1970-01-01 00:00 src/latest -> 1977-09-05-125600'  ok
Testing "ls (backup set - long)" in /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:260  exactly 2 arguments  ok
Comparing:
drwx------ 10853/700
drwx------ 10853/700
lrwxr-xr-x ?/?
--
drwx------ 10853/700
drwx------ 10853/700
lrwxr-xr-x ?/?
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:260  'drwx------ 10853/700 drwx------ 10853/700 lrwxr-xr-x ?/?' = 'drwx------ 10853/700 drwx------ 10853/700 lrwxr-xr-x ?/?'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:265  exactly 2 arguments  ok
Comparing:
19b61df2ac6787bb156000234261211b83b1b209 src/1977-09-05-125600
--
19b61df2ac6787bb156000234261211b83b1b209 src/1977-09-05-125600
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:265  '19b61df2ac6787bb156000234261211b83b1b209 src/1977-09-05-125600' = '19b61df2ac6787bb156000234261211b83b1b209 src/1977-09-05-125600'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:268  exactly 2 arguments  ok
Comparing:
b0d19bda041dec663cc8d8281c16ed7452191482 src/1977-09-05-125600
--
b0d19bda041dec663cc8d8281c16ed7452191482 src/1977-09-05-125600
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:268  'b0d19bda041dec663cc8d8281c16ed7452191482 src/1977-09-05-125600' = 'b0d19bda041dec663cc8d8281c16ed7452191482 src/1977-09-05-125600'  ok
Testing "ls (dates TZ != UTC)" in /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:280  exactly 2 arguments  ok
Comparing:
lrwxr-xr-x 10853/700 9 2025-08-28 17:40 bad-symlink -> not-there
-rwx------ 10853/700 0 2009-10-03 18:48 executable
prw------- 10853/700 0 2009-10-03 18:48 fifo
-rw------- 10853/700 1024 2009-10-03 18:48 file
srwx------ 10853/700 0 2009-10-03 18:48 socket
lrwxr-xr-x 10853/700 4 2025-08-28 17:40 symlink -> file
--
lrwxr-xr-x 10853/700 9 2025-08-28 17:40 bad-symlink -> not-there
-rwx------ 10853/700 0 2009-10-03 18:48 executable
prw------- 10853/700 0 2009-10-03 18:48 fifo
-rw------- 10853/700 1024 2009-10-03 18:48 file
srwx------ 10853/700 0 2009-10-03 18:48 socket
lrwxr-xr-x 10853/700 4 2025-08-28 17:40 symlink -> file
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:280  'lrwxr-xr-x 10853/700 9 2025-08-28 17:40 bad-symlink -> not-there -rwx------ 10853/700 0 2009-10-03 18:48 executable prw------- 10853/700 0 2009-10-03 18:48 fifo -rw------- 10853/700 1024 2009-10-03 18:48 file srwx------ 10853/700 0 2009-10-03 18:48 socket lrwxr-xr-x 10853/700 4 2025-08-28 17:40 symlink -> file' = 'lrwxr-xr-x 10853/700 9 2025-08-28 17:40 bad-symlink -> not-there -rwx------ 10853/700 0 2009-10-03 18:48 executable prw------- 10853/700 0 2009-10-03 18:48 fifo -rw------- 10853/700 1024 2009-10-03 18:48 file srwx------ 10853/700 0 2009-10-03 18:48 socket lrwxr-xr-x 10853/700 4 2025-08-28 17:40 symlink -> file'  ok
Testing "ls bad-symlink" in /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:291  exactly 2 arguments  ok
Comparing:
src/latest/bad-symlink
--
src/latest/bad-symlink
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:291  'src/latest/bad-symlink' = 'src/latest/bad-symlink'  ok
Testing "ls -l bad-symlink" in /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:294  exactly 2 arguments  ok
Comparing:
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 src/latest/bad-symlink -> not-there
--
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 src/latest/bad-symlink -> not-there
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:294  'lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 src/latest/bad-symlink -> not-there' = 'lrwxr-xr-x gdt/lexort 9 2025-08-28 22:40 src/latest/bad-symlink -> not-there'  ok
/usr/bin/script
Testing "output isn't truncated when isatty" in /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:302  rm -rf src  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:303  mkdir src  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:304  xargs touch  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:305  bup index src  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:306  bup save -n src --strip src  ok
script: unknown option -- e
Usage: script [-c <command>][-adfpqr] [file]
script: unknown option -- e
Usage: script [-c <command>][-adfpqr] [file]
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:307  with-tty /home/gdt/SOFTWARE/BUP/bup/bup ls -l src/latest  FAILED
called from /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:307 WVPASS with-tty /home/gdt/SOFTWARE/BUP/bup/bup ls -l src/latest
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:307  wc -l  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:308  exactly 2 arguments  ok
Comparing:
3000
--
0
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:308  '3000' = '0'  FAILED
called from /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls:308 WVPASSEQ 3000 0
______________ /home/gdt/SOFTWARE/BUP/bup/test/ext/test-ls-remote ______________
Exit status: 1
Failures:
! test/ext/test-ls:307  with-tty /home/gdt/SOFTWARE/BUP/bup/bup ls -l src/latest  FAILED
! test/ext/test-ls:308  '3000' = '0'  FAILED
----------------------------- Captured stdout call -----------------------------
! test/ext/test-ls:7  pwd  ok
! test/ext/test-ls:8  wvmktempdir  ok
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
hint:
hint: Disable this message with "git config set advice.defaultBranchName false"
Initialized empty Git repository in /home/gdt/SOFTWARE/BUP/bup/test/tmp/test-ls-yb8kk8b/bup/
! test/ext/test-ls:33  bup init  ok
! test/ext/test-ls:34  cd /home/gdt/SOFTWARE/BUP/bup/test/tmp/test-ls-yb8kk8b  ok
! test/ext/test-ls:36  mkdir src  ok
! test/ext/test-ls:37  touch src/.dotfile src/executable  ok
! test/ext/test-ls:38  mkfifo src/fifo  ok
! test/ext/test-ls:39  /home/gdt/SOFTWARE/BUP/bup/dev/mksock src/socket  ok
! test/ext/test-ls:40  bup random 1k  ok
! test/ext/test-ls:41  chmod u+x src/executable  ok
! test/ext/test-ls:42  chmod -R u=rwX,g-rwx,o-rwx .  ok
! test/ext/test-ls:43  touch -t 200910032348 src/.dotfile src/executable src/fifo src/file src/socket  ok
! test/ext/test-ls:44  cd src  ok
! test/ext/test-ls:44  ln -s file symlink  ok
! test/ext/test-ls:45  cd src  ok
! test/ext/test-ls:45  ln -s not-there bad-symlink  ok
! test/ext/test-ls:46  touch -t 200910032348 src  ok
! test/ext/test-ls:47  touch -t 200910032348 .  ok
! test/ext/test-ls:48  bup index src  ok
! test/ext/test-ls:50  bup save -n src -d 242312159 --strip src  ok
! test/ext/test-ls:51  bup save -n src -d 242312160 --strip src  ok
! test/ext/test-ls:52  bup tag some-tag src  ok
! test/ext/test-ls:54  id -u  ok
! test/ext/test-ls:55  bup-cfg-py -c import os; print(os.stat("src").st_gid)  ok
! test/ext/test-ls:56  id -un  ok
! test/ext/test-ls:58  bup-cfg-py -c import grp, os; print(grp.getgrgid(os.stat("src").st_gid)[0])  ok
Testing "ls -r (short)" in test/ext/test-ls:
! test/ext/test-ls:65  bup-ls  ok
! test/ext/test-ls:65  exactly 2 arguments  ok
Comparing:
src
--
src
! test/ext/test-ls:65  'src' = 'src'  ok
! test/ext/test-ls:67  bup-ls /  ok
! test/ext/test-ls:67  exactly 2 arguments  ok
Comparing:
src
--
src
! test/ext/test-ls:67  'src' = 'src'  ok
! test/ext/test-ls:69  bup-ls -A /  ok
! test/ext/test-ls:69  exactly 2 arguments  ok
Comparing:
.tag
src
--
.tag
src
! test/ext/test-ls:69  '.tag src' = '.tag src'  ok
! test/ext/test-ls:72  bup-ls -AF /  ok
! test/ext/test-ls:72  exactly 2 arguments  ok
Comparing:
.tag/
src/
--
.tag/
src/
! test/ext/test-ls:72  '.tag/ src/' = '.tag/ src/'  ok
! test/ext/test-ls:75  bup-ls -a /  ok
! test/ext/test-ls:75  exactly 2 arguments  ok
Comparing:
.
..
.tag
src
--
.
..
.tag
src
! test/ext/test-ls:75  '. .. .tag src' = '. .. .tag src'  ok
! test/ext/test-ls:80  bup-ls -aF /  ok
! test/ext/test-ls:80  exactly 2 arguments  ok
Comparing:
./
../
.tag/
src/
--
./
../
.tag/
src/
! test/ext/test-ls:80  './ ../ .tag/ src/' = './ ../ .tag/ src/'  ok
! test/ext/test-ls:85  bup-ls /.tag  ok
! test/ext/test-ls:85  exactly 2 arguments  ok
Comparing:
some-tag
--
some-tag
! test/ext/test-ls:85  'some-tag' = 'some-tag'  ok
! test/ext/test-ls:87  bup-ls /src  ok
! test/ext/test-ls:87  exactly 2 arguments  ok
Comparing:
1977-09-05-125559
1977-09-05-125600
latest
--
1977-09-05-125559
1977-09-05-125600
latest
! test/ext/test-ls:87  '1977-09-05-125559 1977-09-05-125600 latest' = '1977-09-05-125559 1977-09-05-125600 latest'  ok
! test/ext/test-ls:92  bup-ls src/latest  ok
! test/ext/test-ls:92  exactly 2 arguments  ok
Comparing:
bad-symlink
executable
fifo
file
socket
symlink
--
bad-symlink
executable
fifo
file
socket
symlink
! test/ext/test-ls:92  'bad-symlink executable fifo file socket symlink' = 'bad-symlink executable fifo file socket symlink'  ok
! test/ext/test-ls:99  bup-ls -A src/latest  ok
! test/ext/test-ls:99  exactly 2 arguments  ok
Comparing:
.dotfile
bad-symlink
executable
fifo
file
socket
symlink
--
.dotfile
bad-symlink
executable
fifo
file
socket
symlink
! test/ext/test-ls:99  '.dotfile bad-symlink executable fifo file socket symlink' = '.dotfile bad-symlink executable fifo file socket symlink'  ok
! test/ext/test-ls:107  bup-ls -a src/latest  ok
! test/ext/test-ls:107  exactly 2 arguments  ok
Comparing:
.
..
.dotfile
bad-symlink
executable
fifo
file
socket
symlink
--
.
..
.dotfile
bad-symlink
executable
fifo
file
socket
symlink
! test/ext/test-ls:107  '. .. .dotfile bad-symlink executable fifo file socket symlink' = '. .. .dotfile bad-symlink executable fifo file socket symlink'  ok
! test/ext/test-ls:117  bup-ls -F src/latest  ok
! test/ext/test-ls:117  exactly 2 arguments  ok
Comparing:
bad-symlink@
executable*
fifo|
file
socket=
symlink@
--
bad-symlink@
executable*
fifo|
file
socket=
symlink@
! test/ext/test-ls:117  'bad-symlink@ executable* fifo| file socket= symlink@' = 'bad-symlink@ executable* fifo| file socket= symlink@'  ok
! test/ext/test-ls:124  bup-ls --file-type src/latest  ok
! test/ext/test-ls:124  exactly 2 arguments  ok
Comparing:
bad-symlink@
executable
fifo|
file
socket=
symlink@
--
bad-symlink@
executable
fifo|
file
socket=
symlink@
! test/ext/test-ls:124  'bad-symlink@ executable fifo| file socket= symlink@' = 'bad-symlink@ executable fifo| file socket= symlink@'  ok
! test/ext/test-ls:131  bup-ls -d src/latest  ok
! test/ext/test-ls:131  exactly 2 arguments  ok
Comparing:
src/latest
--
src/latest
! test/ext/test-ls:131  'src/latest' = 'src/latest'  ok
Testing "ls -r (long)" in test/ext/test-ls:
! test/ext/test-ls:136  bup-ls -l /  ok
! test/ext/test-ls:136  exactly 2 arguments  ok
Comparing:
drwx------ gdt/lexort 0 2009-10-03 23:48 src
--
drwx------ gdt/lexort 0 2009-10-03 23:48 src
! test/ext/test-ls:136  'drwx------ gdt/lexort 0 2009-10-03 23:48 src' = 'drwx------ gdt/lexort 0 2009-10-03 23:48 src'  ok
! test/ext/test-ls:139  bup-ls -lA /  ok
! test/ext/test-ls:139  exactly 2 arguments  ok
Comparing:
drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag
drwx------ gdt/lexort 0 2009-10-03 23:48 src
--
drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag
drwx------ gdt/lexort 0 2009-10-03 23:48 src
! test/ext/test-ls:139  'drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag drwx------ gdt/lexort 0 2009-10-03 23:48 src' = 'drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag drwx------ gdt/lexort 0 2009-10-03 23:48 src'  ok
! test/ext/test-ls:143  bup-ls -lAF /  ok
! test/ext/test-ls:143  exactly 2 arguments  ok
Comparing:
drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag/
drwx------ gdt/lexort 0 2009-10-03 23:48 src/
--
drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag/
drwx------ gdt/lexort 0 2009-10-03 23:48 src/
! test/ext/test-ls:143  'drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag/ drwx------ gdt/lexort 0 2009-10-03 23:48 src/' = 'drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag/ drwx------ gdt/lexort 0 2009-10-03 23:48 src/'  ok
! test/ext/test-ls:147  bup-ls -la /  ok
! test/ext/test-ls:147  exactly 2 arguments  ok
Comparing:
drwxr-xr-x ?/? 0 1970-01-01 00:00 .
drwxr-xr-x ?/? 0 1970-01-01 00:00 ..
drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag
drwx------ gdt/lexort 0 2009-10-03 23:48 src
--
drwxr-xr-x ?/? 0 1970-01-01 00:00 .
drwxr-xr-x ?/? 0 1970-01-01 00:00 ..
drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag
drwx------ gdt/lexort 0 2009-10-03 23:48 src
! test/ext/test-ls:147  'drwxr-xr-x ?/? 0 1970-01-01 00:00 . drwxr-xr-x ?/? 0 1970-01-01 00:00 .. drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag drwx------ gdt/lexort 0 2009-10-03 23:48 src' = 'drwxr-xr-x ?/? 0 1970-01-01 00:00 . drwxr-xr-x ?/? 0 1970-01-01 00:00 .. drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag drwx------ gdt/lexort 0 2009-10-03 23:48 src'  ok
! test/ext/test-ls:153  bup-ls -laF /  ok
! test/ext/test-ls:153  exactly 2 arguments  ok
Comparing:
drwxr-xr-x ?/? 0 1970-01-01 00:00 ./
drwxr-xr-x ?/? 0 1970-01-01 00:00 ../
drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag/
drwx------ gdt/lexort 0 2009-10-03 23:48 src/
--
drwxr-xr-x ?/? 0 1970-01-01 00:00 ./
drwxr-xr-x ?/? 0 1970-01-01 00:00 ../
drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag/
drwx------ gdt/lexort 0 2009-10-03 23:48 src/
! test/ext/test-ls:153  'drwxr-xr-x ?/? 0 1970-01-01 00:00 ./ drwxr-xr-x ?/? 0 1970-01-01 00:00 ../ drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag/ drwx------ gdt/lexort 0 2009-10-03 23:48 src/' = 'drwxr-xr-x ?/? 0 1970-01-01 00:00 ./ drwxr-xr-x ?/? 0 1970-01-01 00:00 ../ drwxr-xr-x ?/? 0 1970-01-01 00:00 .tag/ drwx------ gdt/lexort 0 2009-10-03 23:48 src/'  ok
! test/ext/test-ls:159  ls -l src/socket  ok
! test/ext/test-ls:162  ls -l src/bad-symlink  ok
! test/ext/test-ls:164  bup-ls -l src/latest  ok
! test/ext/test-ls:167  echo lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 bad-symlink -> not-there  ok
! test/ext/test-ls:167  perl -ne m/.*? (\d+) (\d\d\d\d-\d\d-\d\d \d\d:\d\d)/ and print $2  ok
! test/ext/test-ls:178  echo lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 bad-symlink -> not-there  ok
! test/ext/test-ls:178  perl -ne m/.*? (\d+) (\d\d\d\d-\d\d-\d\d \d\d:\d\d)/ and print $1  ok
! test/ext/test-ls:183  ls -l src/symlink  ok
! test/ext/test-ls:185  bup-ls -l src/latest  ok
! test/ext/test-ls:188  echo lrwxr-xr-x gdt/lexort 4 2025-08-28 22:41 symlink -> file  ok
! test/ext/test-ls:188  perl -ne m/.*? (\d+) (\d\d\d\d-\d\d-\d\d \d\d:\d\d)/ and print $2  ok
! test/ext/test-ls:199  echo lrwxr-xr-x gdt/lexort 4 2025-08-28 22:41 symlink -> file  ok
! test/ext/test-ls:199  perl -ne m/.*? (\d+) (\d\d\d\d-\d\d-\d\d \d\d:\d\d)/ and print $1  ok
! test/ext/test-ls:203  exactly 2 arguments  ok
Comparing:
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 bad-symlink -> not-there
-rwx------ gdt/lexort 0 2009-10-03 23:48 executable
prw------- gdt/lexort 0 2009-10-03 23:48 fifo
-rw------- gdt/lexort 1024 2009-10-03 23:48 file
srwx------ gdt/lexort 0 2009-10-03 23:48 socket
lrwxr-xr-x gdt/lexort 4 2025-08-28 22:41 symlink -> file
--
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 bad-symlink -> not-there
-rwx------ gdt/lexort 0 2009-10-03 23:48 executable
prw------- gdt/lexort 0 2009-10-03 23:48 fifo
-rw------- gdt/lexort 1024 2009-10-03 23:48 file
srwx------ gdt/lexort 0 2009-10-03 23:48 socket
lrwxr-xr-x gdt/lexort 4 2025-08-28 22:41 symlink -> file
! test/ext/test-ls:203  'lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 bad-symlink -> not-there -rwx------ gdt/lexort 0 2009-10-03 23:48 executable prw------- gdt/lexort 0 2009-10-03 23:48 fifo -rw------- gdt/lexort 1024 2009-10-03 23:48 file srwx------ gdt/lexort 0 2009-10-03 23:48 socket lrwxr-xr-x gdt/lexort 4 2025-08-28 22:41 symlink -> file' = 'lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 bad-symlink -> not-there -rwx------ gdt/lexort 0 2009-10-03 23:48 executable prw------- gdt/lexort 0 2009-10-03 23:48 fifo -rw------- gdt/lexort 1024 2009-10-03 23:48 file srwx------ gdt/lexort 0 2009-10-03 23:48 socket lrwxr-xr-x gdt/lexort 4 2025-08-28 22:41 symlink -> file'  ok
! test/ext/test-ls:211  exactly 2 arguments  ok
Comparing:
drwx------ gdt/lexort 0 2009-10-03 23:48 .
drwx------ gdt/lexort 0 2009-10-03 23:48 ..
-rw------- gdt/lexort 0 2009-10-03 23:48 .dotfile
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 bad-symlink -> not-there
-rwx------ gdt/lexort 0 2009-10-03 23:48 executable
prw------- gdt/lexort 0 2009-10-03 23:48 fifo
-rw------- gdt/lexort 1024 2009-10-03 23:48 file
srwx------ gdt/lexort 0 2009-10-03 23:48 socket
lrwxr-xr-x gdt/lexort 4 2025-08-28 22:41 symlink -> file
--
drwx------ gdt/lexort 0 2009-10-03 23:48 .
drwx------ gdt/lexort 0 2009-10-03 23:48 ..
-rw------- gdt/lexort 0 2009-10-03 23:48 .dotfile
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 bad-symlink -> not-there
-rwx------ gdt/lexort 0 2009-10-03 23:48 executable
prw------- gdt/lexort 0 2009-10-03 23:48 fifo
-rw------- gdt/lexort 1024 2009-10-03 23:48 file
srwx------ gdt/lexort 0 2009-10-03 23:48 socket
lrwxr-xr-x gdt/lexort 4 2025-08-28 22:41 symlink -> file
! test/ext/test-ls:211  'drwx------ gdt/lexort 0 2009-10-03 23:48 . drwx------ gdt/lexort 0 2009-10-03 23:48 .. -rw------- gdt/lexort 0 2009-10-03 23:48 .dotfile lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 bad-symlink -> not-there -rwx------ gdt/lexort 0 2009-10-03 23:48 executable prw------- gdt/lexort 0 2009-10-03 23:48 fifo -rw------- gdt/lexort 1024 2009-10-03 23:48 file srwx------ gdt/lexort 0 2009-10-03 23:48 socket lrwxr-xr-x gdt/lexort 4 2025-08-28 22:41 symlink -> file' = 'drwx------ gdt/lexort 0 2009-10-03 23:48 . drwx------ gdt/lexort 0 2009-10-03 23:48 .. -rw------- gdt/lexort 0 2009-10-03 23:48 .dotfile lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 bad-symlink -> not-there -rwx------ gdt/lexort 0 2009-10-03 23:48 executable prw------- gdt/lexort 0 2009-10-03 23:48 fifo -rw------- gdt/lexort 1024 2009-10-03 23:48 file srwx------ gdt/lexort 0 2009-10-03 23:48 socket lrwxr-xr-x gdt/lexort 4 2025-08-28 22:41 symlink -> file'  ok
! test/ext/test-ls:222  exactly 2 arguments  ok
Comparing:
-rw------- gdt/lexort 0 2009-10-03 23:48 .dotfile
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 bad-symlink -> not-there
-rwx------ gdt/lexort 0 2009-10-03 23:48 executable
prw------- gdt/lexort 0 2009-10-03 23:48 fifo
-rw------- gdt/lexort 1024 2009-10-03 23:48 file
srwx------ gdt/lexort 0 2009-10-03 23:48 socket
lrwxr-xr-x gdt/lexort 4 2025-08-28 22:41 symlink -> file
--
-rw------- gdt/lexort 0 2009-10-03 23:48 .dotfile
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 bad-symlink -> not-there
-rwx------ gdt/lexort 0 2009-10-03 23:48 executable
prw------- gdt/lexort 0 2009-10-03 23:48 fifo
-rw------- gdt/lexort 1024 2009-10-03 23:48 file
srwx------ gdt/lexort 0 2009-10-03 23:48 socket
lrwxr-xr-x gdt/lexort 4 2025-08-28 22:41 symlink -> file
! test/ext/test-ls:222  '-rw------- gdt/lexort 0 2009-10-03 23:48 .dotfile lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 bad-symlink -> not-there -rwx------ gdt/lexort 0 2009-10-03 23:48 executable prw------- gdt/lexort 0 2009-10-03 23:48 fifo -rw------- gdt/lexort 1024 2009-10-03 23:48 file srwx------ gdt/lexort 0 2009-10-03 23:48 socket lrwxr-xr-x gdt/lexort 4 2025-08-28 22:41 symlink -> file' = '-rw------- gdt/lexort 0 2009-10-03 23:48 .dotfile lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 bad-symlink -> not-there -rwx------ gdt/lexort 0 2009-10-03 23:48 executable prw------- gdt/lexort 0 2009-10-03 23:48 fifo -rw------- gdt/lexort 1024 2009-10-03 23:48 file srwx------ gdt/lexort 0 2009-10-03 23:48 socket lrwxr-xr-x gdt/lexort 4 2025-08-28 22:41 symlink -> file'  ok
! test/ext/test-ls:231  exactly 2 arguments  ok
Comparing:
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 bad-symlink@ -> not-there
-rwx------ gdt/lexort 0 2009-10-03 23:48 executable*
prw------- gdt/lexort 0 2009-10-03 23:48 fifo|
-rw------- gdt/lexort 1024 2009-10-03 23:48 file
srwx------ gdt/lexort 0 2009-10-03 23:48 socket=
lrwxr-xr-x gdt/lexort 4 2025-08-28 22:41 symlink@ -> file
--
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 bad-symlink@ -> not-there
-rwx------ gdt/lexort 0 2009-10-03 23:48 executable*
prw------- gdt/lexort 0 2009-10-03 23:48 fifo|
-rw------- gdt/lexort 1024 2009-10-03 23:48 file
srwx------ gdt/lexort 0 2009-10-03 23:48 socket=
lrwxr-xr-x gdt/lexort 4 2025-08-28 22:41 symlink@ -> file
! test/ext/test-ls:231  'lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 bad-symlink@ -> not-there -rwx------ gdt/lexort 0 2009-10-03 23:48 executable* prw------- gdt/lexort 0 2009-10-03 23:48 fifo| -rw------- gdt/lexort 1024 2009-10-03 23:48 file srwx------ gdt/lexort 0 2009-10-03 23:48 socket= lrwxr-xr-x gdt/lexort 4 2025-08-28 22:41 symlink@ -> file' = 'lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 bad-symlink@ -> not-there -rwx------ gdt/lexort 0 2009-10-03 23:48 executable* prw------- gdt/lexort 0 2009-10-03 23:48 fifo| -rw------- gdt/lexort 1024 2009-10-03 23:48 file srwx------ gdt/lexort 0 2009-10-03 23:48 socket= lrwxr-xr-x gdt/lexort 4 2025-08-28 22:41 symlink@ -> file'  ok
! test/ext/test-ls:239  exactly 2 arguments  ok
Comparing:
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 bad-symlink@ -> not-there
-rwx------ gdt/lexort 0 2009-10-03 23:48 executable
prw------- gdt/lexort 0 2009-10-03 23:48 fifo|
-rw------- gdt/lexort 1024 2009-10-03 23:48 file
srwx------ gdt/lexort 0 2009-10-03 23:48 socket=
lrwxr-xr-x gdt/lexort 4 2025-08-28 22:41 symlink@ -> file
--
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 bad-symlink@ -> not-there
-rwx------ gdt/lexort 0 2009-10-03 23:48 executable
prw------- gdt/lexort 0 2009-10-03 23:48 fifo|
-rw------- gdt/lexort 1024 2009-10-03 23:48 file
srwx------ gdt/lexort 0 2009-10-03 23:48 socket=
lrwxr-xr-x gdt/lexort 4 2025-08-28 22:41 symlink@ -> file
! test/ext/test-ls:239  'lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 bad-symlink@ -> not-there -rwx------ gdt/lexort 0 2009-10-03 23:48 executable prw------- gdt/lexort 0 2009-10-03 23:48 fifo| -rw------- gdt/lexort 1024 2009-10-03 23:48 file srwx------ gdt/lexort 0 2009-10-03 23:48 socket= lrwxr-xr-x gdt/lexort 4 2025-08-28 22:41 symlink@ -> file' = 'lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 bad-symlink@ -> not-there -rwx------ gdt/lexort 0 2009-10-03 23:48 executable prw------- gdt/lexort 0 2009-10-03 23:48 fifo| -rw------- gdt/lexort 1024 2009-10-03 23:48 file srwx------ gdt/lexort 0 2009-10-03 23:48 socket= lrwxr-xr-x gdt/lexort 4 2025-08-28 22:41 symlink@ -> file'  ok
! test/ext/test-ls:247  exactly 2 arguments  ok
Comparing:
lrwxr-xr-x 10853/700 9 2025-08-28 22:41 bad-symlink -> not-there
-rwx------ 10853/700 0 2009-10-03 23:48 executable
prw------- 10853/700 0 2009-10-03 23:48 fifo
-rw------- 10853/700 1024 2009-10-03 23:48 file
srwx------ 10853/700 0 2009-10-03 23:48 socket
lrwxr-xr-x 10853/700 4 2025-08-28 22:41 symlink -> file
--
lrwxr-xr-x 10853/700 9 2025-08-28 22:41 bad-symlink -> not-there
-rwx------ 10853/700 0 2009-10-03 23:48 executable
prw------- 10853/700 0 2009-10-03 23:48 fifo
-rw------- 10853/700 1024 2009-10-03 23:48 file
srwx------ 10853/700 0 2009-10-03 23:48 socket
lrwxr-xr-x 10853/700 4 2025-08-28 22:41 symlink -> file
! test/ext/test-ls:247  'lrwxr-xr-x 10853/700 9 2025-08-28 22:41 bad-symlink -> not-there -rwx------ 10853/700 0 2009-10-03 23:48 executable prw------- 10853/700 0 2009-10-03 23:48 fifo -rw------- 10853/700 1024 2009-10-03 23:48 file srwx------ 10853/700 0 2009-10-03 23:48 socket lrwxr-xr-x 10853/700 4 2025-08-28 22:41 symlink -> file' = 'lrwxr-xr-x 10853/700 9 2025-08-28 22:41 bad-symlink -> not-there -rwx------ 10853/700 0 2009-10-03 23:48 executable prw------- 10853/700 0 2009-10-03 23:48 fifo -rw------- 10853/700 1024 2009-10-03 23:48 file srwx------ 10853/700 0 2009-10-03 23:48 socket lrwxr-xr-x 10853/700 4 2025-08-28 22:41 symlink -> file'  ok
! test/ext/test-ls:255  exactly 2 arguments  ok
Comparing:
lrwxr-xr-x ?/? 17 1970-01-01 00:00 src/latest -> 1977-09-05-125600
--
lrwxr-xr-x ?/? 17 1970-01-01 00:00 src/latest -> 1977-09-05-125600
! test/ext/test-ls:255  'lrwxr-xr-x ?/? 17 1970-01-01 00:00 src/latest -> 1977-09-05-125600' = 'lrwxr-xr-x ?/? 17 1970-01-01 00:00 src/latest -> 1977-09-05-125600'  ok
Testing "ls -r (backup set - long)" in test/ext/test-ls:
! test/ext/test-ls:260  exactly 2 arguments  ok
Comparing:
drwx------ 10853/700
drwx------ 10853/700
lrwxr-xr-x ?/?
--
drwx------ 10853/700
drwx------ 10853/700
lrwxr-xr-x ?/?
! test/ext/test-ls:260  'drwx------ 10853/700 drwx------ 10853/700 lrwxr-xr-x ?/?' = 'drwx------ 10853/700 drwx------ 10853/700 lrwxr-xr-x ?/?'  ok
! test/ext/test-ls:265  exactly 2 arguments  ok
Comparing:
682b101d0c95ddbb11279b9bd2abb763df2049a7 src/1977-09-05-125600
--
682b101d0c95ddbb11279b9bd2abb763df2049a7 src/1977-09-05-125600
! test/ext/test-ls:265  '682b101d0c95ddbb11279b9bd2abb763df2049a7 src/1977-09-05-125600' = '682b101d0c95ddbb11279b9bd2abb763df2049a7 src/1977-09-05-125600'  ok
! test/ext/test-ls:268  exactly 2 arguments  ok
Comparing:
33272cdda72e4d95643f7714cefac7c6743f85da src/1977-09-05-125600
--
33272cdda72e4d95643f7714cefac7c6743f85da src/1977-09-05-125600
! test/ext/test-ls:268  '33272cdda72e4d95643f7714cefac7c6743f85da src/1977-09-05-125600' = '33272cdda72e4d95643f7714cefac7c6743f85da src/1977-09-05-125600'  ok
Testing "ls -r (dates TZ != UTC)" in test/ext/test-ls:
! test/ext/test-ls:280  exactly 2 arguments  ok
Comparing:
lrwxr-xr-x 10853/700 9 2025-08-28 17:41 bad-symlink -> not-there
-rwx------ 10853/700 0 2009-10-03 18:48 executable
prw------- 10853/700 0 2009-10-03 18:48 fifo
-rw------- 10853/700 1024 2009-10-03 18:48 file
srwx------ 10853/700 0 2009-10-03 18:48 socket
lrwxr-xr-x 10853/700 4 2025-08-28 17:41 symlink -> file
--
lrwxr-xr-x 10853/700 9 2025-08-28 17:41 bad-symlink -> not-there
-rwx------ 10853/700 0 2009-10-03 18:48 executable
prw------- 10853/700 0 2009-10-03 18:48 fifo
-rw------- 10853/700 1024 2009-10-03 18:48 file
srwx------ 10853/700 0 2009-10-03 18:48 socket
lrwxr-xr-x 10853/700 4 2025-08-28 17:41 symlink -> file
! test/ext/test-ls:280  'lrwxr-xr-x 10853/700 9 2025-08-28 17:41 bad-symlink -> not-there -rwx------ 10853/700 0 2009-10-03 18:48 executable prw------- 10853/700 0 2009-10-03 18:48 fifo -rw------- 10853/700 1024 2009-10-03 18:48 file srwx------ 10853/700 0 2009-10-03 18:48 socket lrwxr-xr-x 10853/700 4 2025-08-28 17:41 symlink -> file' = 'lrwxr-xr-x 10853/700 9 2025-08-28 17:41 bad-symlink -> not-there -rwx------ 10853/700 0 2009-10-03 18:48 executable prw------- 10853/700 0 2009-10-03 18:48 fifo -rw------- 10853/700 1024 2009-10-03 18:48 file srwx------ 10853/700 0 2009-10-03 18:48 socket lrwxr-xr-x 10853/700 4 2025-08-28 17:41 symlink -> file'  ok
Testing "ls -r bad-symlink" in test/ext/test-ls:
! test/ext/test-ls:291  exactly 2 arguments  ok
Comparing:
src/latest/bad-symlink
--
src/latest/bad-symlink
! test/ext/test-ls:291  'src/latest/bad-symlink' = 'src/latest/bad-symlink'  ok
Testing "ls -r -l bad-symlink" in test/ext/test-ls:
! test/ext/test-ls:294  exactly 2 arguments  ok
Comparing:
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 src/latest/bad-symlink -> not-there
--
lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 src/latest/bad-symlink -> not-there
! test/ext/test-ls:294  'lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 src/latest/bad-symlink -> not-there' = 'lrwxr-xr-x gdt/lexort 9 2025-08-28 22:41 src/latest/bad-symlink -> not-there'  ok
/usr/bin/script
Testing "output isn't truncated when isatty" in test/ext/test-ls:
! test/ext/test-ls:302  rm -rf src  ok
! test/ext/test-ls:303  mkdir src  ok
! test/ext/test-ls:304  xargs touch  ok
! test/ext/test-ls:305  bup index src  ok
! test/ext/test-ls:306  bup save -n src --strip src  ok
script: unknown option -- e
Usage: script [-c <command>][-adfpqr] [file]
script: unknown option -- e
Usage: script [-c <command>][-adfpqr] [file]
! test/ext/test-ls:307  with-tty /home/gdt/SOFTWARE/BUP/bup/bup ls -l src/latest  FAILED
called from test/ext/test-ls:307 WVPASS with-tty /home/gdt/SOFTWARE/BUP/bup/bup ls -l src/latest
! test/ext/test-ls:307  wc -l  ok
! test/ext/test-ls:308  exactly 2 arguments  ok
Comparing:
3000
--
0
! test/ext/test-ls:308  '3000' = '0'  FAILED
called from test/ext/test-ls:308 WVPASSEQ 3000 0
________________ /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc _________________
Exit status: 1
Failures:
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:152  with-tty /home/gdt/SOFTWARE/BUP/bup/bup import-rsnapshot rsnapshot/  FAILED
----------------------------- Captured stdout call -----------------------------
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:8  pwd  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:9  wvmktempdir  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:18  cd /home/gdt/SOFTWARE/BUP/bup/test/tmp/test-misc-iCChYZw  ok
Testing "init" in /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
hint:
hint: Disable this message with "git config set advice.defaultBranchName false"
Initialized empty Git repository in /home/gdt/SOFTWARE/BUP/bup/test/tmp/test-misc-iCChYZw/bup/
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:21  bup init  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:25  force-delete bupdata.tmp  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:26  mkdir bupdata.tmp  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:27  touch bupdata.tmp/a  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:28  bup random 128k  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:29  mkdir bupdata.tmp/d bupdata.tmp/d/e  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:30  bup random 512  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:31  touch bupdata.tmp/d/z  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:32  touch bupdata.tmp/d/z  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:33  bup index bupdata.tmp  ok
e0d88d7bc370b3b92709015934169d9039010df7
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:34  bup save -t bupdata.tmp  ok
Testing "bloom" in /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:
bloom: bloom file: objects/pack/bup.bloom
bloom:   checking objects/pack/pack-17472f8*.idx
All tests passed.
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:38  bup bloom -c /home/gdt/SOFTWARE/BUP/bup/test/tmp/test-misc-iCChYZw/bup/objects/pack/pack-17472f84d3afc5fc0654b1b20e3fb7b2cada407e.idx  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:39  rm /home/gdt/SOFTWARE/BUP/bup/test/tmp/test-misc-iCChYZw/bup/objects/pack/bup.bloom  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:40  bup bloom -k 4  ok
bloom: bloom file: objects/pack/bup.bloom
bloom:   checking objects/pack/pack-17472f8*.idx
All tests passed.
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:41  bup bloom -c /home/gdt/SOFTWARE/BUP/bup/test/tmp/test-misc-iCChYZw/bup/objects/pack/pack-17472f84d3afc5fc0654b1b20e3fb7b2cada407e.idx  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:42  bup bloom -d /home/gdt/SOFTWARE/BUP/bup/test/tmp/test-misc-iCChYZw/bup/objects/pack --ruin --force  ok
bloom: bloom file: objects/pack/bup.bloom
bloom:   checking objects/pack/pack-17472f8*.idx
bloom: ERROR: object 05c8d2275ffed38663a170b35c07250e1949eb4d missing 
bloom: ERROR: object 0bb2f8ed6f673d26a3576a7098a7c443e820d059 missing 
bloom: ERROR: object 0c70d04e4515eca399f4b4d11b1ce69b540e4079 missing 
bloom: ERROR: object 15b6bc03477248644637cc1e4ed1970f8bf3a3a4 missing 
bloom: ERROR: object 1d7f47dce1d6a91c527d9c613f7a9ba7e4c0003b missing 
bloom: ERROR: object 1dde11220a351a8bb57a62cad9f14765ebeeb337 missing 
bloom: ERROR: object 24febd32bf5623bd42d9cd2f66d583df689c8541 missing 
bloom: ERROR: object 25ab5cab83d3978328bec3eb7cea0f95b6da6b24 missing 
bloom: ERROR: object 281113839badfe79d766b0c1af63438aa602f796 missing 
bloom: ERROR: object 2e6eda190f111b6555eaaba9d60448a1e2967533 missing 
bloom: ERROR: object 36a022cbd0b72e1d84e35b3f11f0975fa4a157c6 missing 
bloom: ERROR: object 3c83229cf6e9866b1534fa43f0b2ba175e75aaec missing 
bloom: ERROR: object 3f373a8a2d3f040b8a1c4101525ed0b56eeb332a missing 
bloom: ERROR: object 4500114e5570fbae05e6cae001328fdbebfe78b8 missing 
bloom: ERROR: object 454e93cc2fde2d7b1bec70f7ba4e016e4a25575f missing 
bloom: ERROR: object 4e605327571165cb605eedef9c68a749d100a24a missing 
bloom: ERROR: object 4fad5eb1b523269ecd5c50938d8a8ce099c5bd0d missing 
bloom: ERROR: object 5360ea1303408d7abe1f790757940c5004e09de3 missing 
bloom: ERROR: object 569b8e5f08b55b19276acda9889c2772cdb20f13 missing 
bloom: ERROR: object 6bed77b4bd13f019b8c8a5175cee4a0c19bf8876 missing 
bloom: ERROR: object 765f2b8404f54ce31b00430a6d081fe0a3b4ccd2 missing 
bloom: ERROR: object 803c7eb29e15117e211e8aa1ab2e3849d8dad0f5 missing 
bloom: ERROR: object 88e10c52ce3465b4c66fe4bfa239f22ffaa2c6db missing 
bloom: ERROR: object 90852950a51c52363c14d9748644e8e2d6fa330c missing 
bloom: ERROR: object 95edb4187960901028826e97983a174657eff6f9 missing 
bloom: ERROR: object 99611c0002390e1e8b3e35e0ce88a4fcda7cbfe0 missing 
bloom: ERROR: object 999b67aa8a1d4cae6fd364630478f76723807536 missing 
bloom: ERROR: object 9ba532cb22f0e0226329426fe59c2bc228e7011a missing 
bloom: ERROR: object 9d44370566170e7d41642a9d93fef1920a8f1cae missing 
bloom: ERROR: object a1f92426baa78e791c7c6700c2027e691f901b20 missing 
bloom: ERROR: object b78729f3e6a9c43418760dd5c77271fce0bc5e48 missing 
bloom: ERROR: object bd1ecc014ad1c00387bd2fcdc530dd1c466ccb88 missing 
bloom: ERROR: object bdd1f8af8825379fadef83823589b87edf076cad missing 
bloom: ERROR: object c1440e4bef359314836152772dcbe208351c64ae missing 
bloom: ERROR: object c3fac85a1491daac2bc335186e7ac3968bad1b49 missing 
bloom: ERROR: object d0274696301eb616ffd37a76e4baa5d2ae253dbb missing 
bloom: ERROR: object d36123fa891301528a90e4afe7d23874e8067a1b missing 
bloom: ERROR: object d3dcee4e00d1bf0ae16baf6cf7faa9213350eee3 missing 
bloom: ERROR: object d601182c33fae51102a28ae49afdaa841d53b6ca missing 
bloom: ERROR: object d7c5193066912298bb96600d6132e4cebc050559 missing 
bloom: ERROR: object d8e2083c2ae9539cc42e276a2219532a887587a1 missing 
bloom: ERROR: object e0d88d7bc370b3b92709015934169d9039010df7 missing 
bloom: ERROR: object e21cd37805eadcf64ca77c7c3e17e07815b4441b missing 
bloom: ERROR: object e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 missing 
bloom: ERROR: object e9b4f44a5881a4618ee8ecdc4ff7df177e47685f missing 
bloom: ERROR: object eee049b98904b54bd95af76ba5e5e6ca3a9f8358 missing 
bloom: ERROR: object fa85758990e28e4af9f2a8bd6aacf46ee557957b missing 
bloom: ERROR: object fae8ee52aa51e88addad062a51748e70ae5decd1 missing 
bloom: ERROR: object fdecd991956170b99b93d4ea2c1368a0994043a5 missing 
WARNING: 49 errors encountered during bloom.
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:43  NOT(bup bloom -c /home/gdt/SOFTWARE/BUP/bup/test/tmp/test-misc-iCChYZw/bup/objects/pack/pack-17472f84d3afc5fc0654b1b20e3fb7b2cada407e.idx)  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:44  bup bloom --force -k 5  ok
bloom: bloom file: objects/pack/bup.bloom
bloom:   checking objects/pack/pack-17472f8*.idx
All tests passed.
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:45  bup bloom -c /home/gdt/SOFTWARE/BUP/bup/test/tmp/test-misc-iCChYZw/bup/objects/pack/pack-17472f84d3afc5fc0654b1b20e3fb7b2cada407e.idx  ok
Testing "memtest" in /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:
                  RSS     MajFlt       user        sys         ms 
        0          36          0          0          0          0 
      100          36          0          0          0          1 
bloom: 100 objects searched in 124 steps: avg 1.240 steps/object
Total time: 0.001s
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:49  bup memtest -c1 -n100  ok
                  RSS     MajFlt       user        sys         ms 
        0          36          0          0          0          0 
      100          36          0          1          0          1 
bloom: 1 objects searched in 5 steps: avg 5.000 steps/object
idx: 100 objects searched in 212 steps: avg 2.120 steps/object
Total time: 0.002s
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:50  bup memtest -c1 -n100 --existing  ok
Testing "save/git-fsck" in /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:55  cd /home/gdt/SOFTWARE/BUP/bup/test/tmp/test-misc-iCChYZw/bup  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:58  bup random 4k  ok
80c5fc2d6acff2bfdf230d1629db57b4cc96f305
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:58  bup split -b  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:59  cd /home/gdt/SOFTWARE/BUP/bup/test/sampledata  ok
  /home/gdt/SOFTWARE/BUP/bup/test/tmp/test-misc-iCChYZw/bupdata.tmp/    
A /home/gdt/SOFTWARE/BUP/bup/test/tmp/test-misc-iCChYZw/                
A /home/gdt/SOFTWARE/BUP/bup/test/tmp/                                  
A /home/gdt/SOFTWARE/BUP/bup/test/                                      
A /home/gdt/SOFTWARE/BUP/bup/                                           
A /home/gdt/SOFTWARE/BUP/                                               
A /home/gdt/SOFTWARE/                                                   
A /home/gdt/                                                            
A /home/                                                                
A /                                                                     
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:59  bup save -vvn main /  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:64  NOT(egrep -v dangling (commit|tree|blob))  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:64  tee -a /dev/stderr  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:64  wc -l  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:65  [ 0 -eq 0 ]  ok
Testing "pack name and idx same as git" in /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:72  cd /home/gdt/SOFTWARE/BUP/bup/test/tmp/test-misc-iCChYZw/bup/objects/pack/  ok
pack-17472f84d3afc5fc0654b1b20e3fb7b2cada407e.pack
pack-4b2662bca0919e8db124b1325244b057108f6fc8.pack
pack-db9f4fe44f635cb31e52231b29d9495d81830309.pack
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:73  ls pack-17472f84d3afc5fc0654b1b20e3fb7b2cada407e.pack pack-4b2662bca0919e8db124b1325244b057108f6fc8.pack pack-db9f4fe44f635cb31e52231b29d9495d81830309.pack  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:78  exactly 2 arguments  ok
Comparing:
pack-17472f84d3afc5fc0654b1b20e3fb7b2cada407e.pack
--
pack-17472f84d3afc5fc0654b1b20e3fb7b2cada407e.pack
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:78  'pack-17472f84d3afc5fc0654b1b20e3fb7b2cada407e.pack' = 'pack-17472f84d3afc5fc0654b1b20e3fb7b2cada407e.pack'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:81  exactly 2 arguments  ok
Comparing:
36aacaeb62746877a79c548146412da3f3307c1e
--
36aacaeb62746877a79c548146412da3f3307c1e
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:81  '36aacaeb62746877a79c548146412da3f3307c1e' = '36aacaeb62746877a79c548146412da3f3307c1e'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:78  exactly 2 arguments  ok
Comparing:
pack-4b2662bca0919e8db124b1325244b057108f6fc8.pack
--
pack-4b2662bca0919e8db124b1325244b057108f6fc8.pack
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:78  'pack-4b2662bca0919e8db124b1325244b057108f6fc8.pack' = 'pack-4b2662bca0919e8db124b1325244b057108f6fc8.pack'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:81  exactly 2 arguments  ok
Comparing:
0b702e93746f71b54313230c3a4852c16dfd518f
--
0b702e93746f71b54313230c3a4852c16dfd518f
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:81  '0b702e93746f71b54313230c3a4852c16dfd518f' = '0b702e93746f71b54313230c3a4852c16dfd518f'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:78  exactly 2 arguments  ok
Comparing:
pack-db9f4fe44f635cb31e52231b29d9495d81830309.pack
--
pack-db9f4fe44f635cb31e52231b29d9495d81830309.pack
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:78  'pack-db9f4fe44f635cb31e52231b29d9495d81830309.pack' = 'pack-db9f4fe44f635cb31e52231b29d9495d81830309.pack'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:81  exactly 2 arguments  ok
Comparing:
6effb67e1c4454d377999c473912a51652abd967
--
6effb67e1c4454d377999c473912a51652abd967
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:81  '6effb67e1c4454d377999c473912a51652abd967' = '6effb67e1c4454d377999c473912a51652abd967'  ok
Testing "ftp" in /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:87  bup ftp cat /main/latest//home/gdt/SOFTWARE/BUP/bup/test/tmp/test-misc-iCChYZw/bupdata.tmp/b  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:88  bup ftp cat /main/latest//home/gdt/SOFTWARE/BUP/bup/test/tmp/test-misc-iCChYZw/bupdata.tmp/f  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:89  bup ftp cat /main/latest//home/gdt/SOFTWARE/BUP/bup/test/tmp/test-misc-iCChYZw/bupdata.tmp/f cat /main/latest//home/gdt/SOFTWARE/BUP/bup/test/tmp/test-misc-iCChYZw/bupdata.tmp/f  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:90  bup ftp cat /main/latest//home/gdt/SOFTWARE/BUP/bup/test/tmp/test-misc-iCChYZw/bupdata.tmp/a  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:91  exactly 2 arguments  ok
Comparing:
4cc8f8579959018aefa169428ae64674e2a30535
--
4cc8f8579959018aefa169428ae64674e2a30535
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:91  '4cc8f8579959018aefa169428ae64674e2a30535' = '4cc8f8579959018aefa169428ae64674e2a30535'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:92  exactly 2 arguments  ok
Comparing:
70b04310f07664befbbf11cb4b89b8e3751f7817
--
70b04310f07664befbbf11cb4b89b8e3751f7817
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:92  '70b04310f07664befbbf11cb4b89b8e3751f7817' = '70b04310f07664befbbf11cb4b89b8e3751f7817'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:93  exactly 2 arguments  ok
Comparing:
28d307696ddb4a92342db63dbb2743a5662dd41f
--
28d307696ddb4a92342db63dbb2743a5662dd41f
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:93  '28d307696ddb4a92342db63dbb2743a5662dd41f' = '28d307696ddb4a92342db63dbb2743a5662dd41f'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:94  exactly 2 arguments  ok
Comparing:
da39a3ee5e6b4b0d3255bfef95601890afd80709
--
da39a3ee5e6b4b0d3255bfef95601890afd80709
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:94  'da39a3ee5e6b4b0d3255bfef95601890afd80709' = 'da39a3ee5e6b4b0d3255bfef95601890afd80709'  ok
Testing "tag" in /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:100  exactly 2 arguments  ok
Comparing:
--
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:100  '' = ''  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:101  bup tag v0.1 main  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:102  exactly 2 arguments  ok
Comparing:
v0.1
--
v0.1
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:102  'v0.1' = 'v0.1'  ok
bup: error: tag 'v0.1' already exists
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:103  NOT(bup tag v0.1 main)  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:104  bup tag -f v0.1 main  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:105  bup tag -d v0.1  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:106  bup tag -f -d v0.1  ok
error: tag 'v0.1' doesn't exist
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:107  NOT(bup tag -d v0.1)  ok
Testing "indexfile" in /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:113  rm -f tmpindexfile.tmp  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:114  force-delete indexfile.tmp  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:115  mkdir indexfile.tmp  ok
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
hint:
hint: Disable this message with "git config set advice.defaultBranchName false"
Initialized empty Git repository in /home/gdt/SOFTWARE/BUP/bup/test/tmp/test-misc-iCChYZw/indexfile.tmp/.bup/
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:117  bup init  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:118  touch indexfile.tmp/a  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:119  touch indexfile.tmp/b  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:120  mkdir indexfile.tmp/c  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:121  bup index -ux indexfile.tmp  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:122  bup save --strip -n bupdir indexfile.tmp  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:123  exactly 2 arguments  ok
Comparing:
a
b
c/
--
a
b
c/
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:123  'a b c/' = 'a b c/'  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:126  bup index -f tmpindexfile.tmp --exclude=indexfile.tmp/c -ux indexfile.tmp  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:127  bup save --strip -n indexfile -f tmpindexfile.tmp indexfile.tmp  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:128  exactly 2 arguments  ok
Comparing:
a
b
--
a
b
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:128  'a b' = 'a b'  ok
Testing "import-rsnapshot" in /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:137  rm -rf rsnapshot  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:138  mkdir rsnapshot  ok
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
hint:
hint: Disable this message with "git config set advice.defaultBranchName false"
Initialized empty Git repository in /home/gdt/SOFTWARE/BUP/bup/test/tmp/test-misc-iCChYZw/rsnapshot/.bup/
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:139  bup init  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:140  mkdir -p rsnapshot/hourly.0/buptest/a  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:141  touch rsnapshot/hourly.0/buptest/a/b  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:142  mkdir -p rsnapshot/hourly.0/buptest/c/d  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:143  touch rsnapshot/hourly.0/buptest/c/d/e  ok
snapshot='hourly.0'
snapshot='hourly.0' branch='buptest'
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:144  bup import-rsnapshot rsnapshot/  ok
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:145  exactly 2 arguments  ok
Comparing:
a/
c/
--
a/
c/
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:145  'a/ c/' = 'a/ c/'  ok
/usr/bin/script
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:150  rm -rf /home/gdt/SOFTWARE/BUP/bup/test/tmp/test-misc-iCChYZw/rsnapshot/.bup  ok
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
hint:
hint: Disable this message with "git config set advice.defaultBranchName false"
Initialized empty Git repository in /home/gdt/SOFTWARE/BUP/bup/test/tmp/test-misc-iCChYZw/rsnapshot/.bup/
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:151  bup init  ok
script: unknown option -- e
Usage: script [-c <command>][-adfpqr] [file]
script: unknown option -- e
Usage: script [-c <command>][-adfpqr] [file]
! /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:152  with-tty /home/gdt/SOFTWARE/BUP/bup/bup import-rsnapshot rsnapshot/  FAILED
called from /home/gdt/SOFTWARE/BUP/bup/test/ext/test-misc:152 WVPASS with-tty /home/gdt/SOFTWARE/BUP/bup/bup import-rsnapshot rsnapshot/
=========================== short test summary info ============================
FAILED test/ext/test-ls::
FAILED test/ext/test-ls-remote::
FAILED test/ext/test-misc::
===== 3 failed, 123 passed, 7 skipped, 1 deselected in 1051.50s (0:17:31) ======
gmake: *** [GNUmakefile:257: test] Error 1