Massive testsuite failure on !(Linux || Solaris 8+)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



These test failures are from git-1.7.0.2 after having applied the most
recent series of patches I posted -- git does not even compile on the
affected hosts without these patches, so I can't test at all without
them.  With the same patches applied, Linux and Solaris 8 through 10
on sparc and ix86 pass the entire suite, so I don't think I have
broken something with the patches themselves.

I'm experiencing around 70% test failures on Solaris 2.6 and 7, HP-UX
10.20 through 11.31 on both ia64 and hppa, AIX 5.1.0.0 through 6.1,
Tru64 Unix 5.1, and to a much lesser (maybe 35% test failures) extent
on mips IRIX 6.5.

I have full logs on all hosts, up until t9300 test 120, which hangs (I
left it overnight to be sure since some of these machines are quite
old and slow) the testsuite until SIGINT.  The logs are, obviously,
huge so I won't post them here, just an excerpt of the typical
failures from the beginning and end of the testlogs on hppa HP-UX
11.31 (a very recent release):

gmake aggregate-results-and-cleanup
gmake[2]: Entering directory `/opt/build/git-1.7.0.2/t'
*** t0000-basic.sh ***
*   ok 1: .git/objects should be empty after git init in an empty
repo.
*   ok 2: .git/objects should have 3 subdirectories.
*   ok 3: success is reported like this
*   still broken 4: pretend we have a known breakage
*   FIXED 5: pretend we have fixed a known breakage
*   ok 6: test runs if prerequisite is satisfied
* skip 7: unmet prerequisite causes test to be skipped
*   ok 8: git update-index without --add should fail adding.
*   ok 9: git update-index with --add should succeed.
*   ok 10: writing tree out with git write-tree
*   ok 11: validate object ID of a known tree.
*   ok 12: git update-index without --remove should fail removing.
*   ok 13: git update-index with --remove should be able to remove.
*   ok 14: git write-tree should be able to write an empty tree.
*   ok 15: validate object ID of a known tree.
*   ok 16: adding various types of objects with git update-index
--add.
*   ok 17: showing stage with git ls-files --stage
* FAIL 18: validate git ls-files output for a known tree.
        test_cmp expected current
*   ok 19: writing tree out with git write-tree.
*   ok 20: validate object ID for a known tree.
*   ok 21: showing tree with git ls-tree
* FAIL 22: git ls-tree output for a known tree.
        test_cmp expected current
*   ok 23: showing tree with git ls-tree -r
* FAIL 24: git ls-tree -r output for a known tree.
        test_cmp expected current
*   ok 25: showing tree with git ls-tree -r -t
* FAIL 26: git ls-tree -r output for a known tree.
        test_cmp expected current
*   ok 27: writing partial tree out with git write-tree --prefix.
*   ok 28: validate object ID for a known tree.
*   ok 29: writing partial tree out with git write-tree --prefix.
*   ok 30: validate object ID for a known tree.
*   ok 31: put invalid objects into the index.
*   ok 32: writing this tree without --missing-ok.
*   ok 33: writing this tree with --missing-ok.
*   ok 34: git read-tree followed by write-tree should be idempotent.
* FAIL 35: validate git diff-files output for a know cache/work tree
state.
        git diff-files >current && test_cmp current expected >/dev/null
*   ok 36: git update-index --refresh should succeed.
*   ok 37: no diff after checkout and git update-index --refresh.
*   ok 38: git commit-tree records the correct tree in a commit.
*   ok 39: git commit-tree records the correct parent in a commit.
*   ok 40: git commit-tree omits duplicated parent in a commit.
*   ok 41: update-index D/F conflict
*   ok 42: absolute path works as expected
*   ok 43: very long name in the index handled sanely
* fixed 1 known breakage(s)
* still have 1 known breakage(s)
* failed 5 among remaining 42 test(s)
gmake[2]: *** [t0000-basic.sh] Error 1
*** t0001-init.sh ***
*   ok 1: plain
*   ok 2: plain with GIT_WORK_TREE
*   ok 3: plain bare
*   ok 4: plain bare with GIT_WORK_TREE
*   ok 5: GIT_DIR bare
*   ok 6: init --bare
*   ok 7: GIT_DIR non-bare
*   ok 8: GIT_DIR & GIT_WORK_TREE (1)
*   ok 9: GIT_DIR & GIT_WORK_TREE (2)
* FAIL 10: reinit
        
        
                (
                        unset GIT_CONFIG GIT_WORK_TREE GIT_CONFIG
        
                        mkdir again &&
                        cd again &&
                        git init >out1 2>err1 &&
                        git init >out2 2>err2
                ) &&
                grep "Initialized empty" again/out1 &&
                grep "Reinitialized existing" again/out2 &&
                >again/empty &&
                test_cmp again/empty again/err1 &&
                test_cmp again/empty again/err2
        
* FAIL 11: init with --template
        
                mkdir template-source &&
                echo content >template-source/file &&
                (
                        mkdir template-custom &&
                        cd template-custom &&
                        git init --template=../template-source
                ) &&
                test_cmp template-source/file template-custom/.git/file
        
*   ok 12: init with --template (blank)
*   ok 13: init --bare/--shared overrides system/global config
*   ok 14: init honors global core.sharedRepository
*   ok 15: init rejects insanely long --template
*   ok 16: init creates a new directory
*   ok 17: init creates a new bare directory
*   ok 18: init recreates a directory
*   ok 19: init recreates a new bare directory
*   ok 20: init creates a new deep directory
*   ok 21: init creates a new deep directory (umask vs. shared)
*   ok 22: init notices EEXIST (1)
*   ok 23: init notices EEXIST (2)
*   ok 24: init notices EPERM
* failed 2 among 24 test(s)
gmake[2]: *** [t0001-init.sh] Error 1

Things deteriorate quickly from here on in, until the testsuite
hangs up pending a SIGINT here:

*** t9300-fast-import.sh ***
*   ok 1: A: create pack from stdin
*   ok 2: A: verify pack
* FAIL 3: A: verify commit
        git cat-file commit master | sed 1d >actual &&
                test_cmp expect actual
* FAIL 4: A: verify tree
        git cat-file -p master^{tree} | sed "s/ [0-9a-f]*       / /" >actual &&
                 test_cmp expect actual
* FAIL 5: A: verify file2
        git cat-file blob master:file2 >actual && test_cmp expect actual
* FAIL 6: A: verify file3
        git cat-file blob master:file3 >actual && test_cmp expect actual
* FAIL 7: A: verify file4
        git cat-file blob master:file4 >actual && test_cmp expect actual
* FAIL 8: A: verify tag/series-A
        
                git cat-file tag tags/series-A >actual &&
                test_cmp expect actual
        
* FAIL 9: A: verify marks output
        test_cmp expect marks.out
* FAIL 10: A: verify marks import
        git fast-import \
                        --import-marks=marks.out \
                        --export-marks=marks.new \
                        </dev/null &&
                test_cmp expect marks.new
*   ok 11: A: verify marks import does not crash
*   ok 12: A: verify pack
* FAIL 13: A: verify diff
        compare_diff_raw expect actual &&
                 test `git rev-parse --verify master:file2` \
                    = `git rev-parse --verify verify--import-marks:copy-of-file2`
*   ok 14: B: fail on invalid blob sha1
*   ok 15: B: fail on invalid branch name ".badbranchname"
*   ok 16: B: fail on invalid branch name "bad[branch]name"
*   ok 17: B: accept branch name "TEMP_TAG"
*   ok 18: C: incremental import create pack from stdin
*   ok 19: C: verify pack
*   ok 20: C: validate reuse existing blob
* FAIL 21: C: verify commit
        git cat-file commit branch | sed 1d >actual &&
                 test_cmp expect actual
* FAIL 22: C: validate rename result
        compare_diff_raw expect actual
*   ok 23: D: inline data in commit
*   ok 24: D: verify pack
* FAIL 25: D: validate new files added
        compare_diff_raw expect actual
* FAIL 26: D: verify file5
        git cat-file blob branch:newdir/interesting >actual &&
                 test_cmp expect actual
* FAIL 27: D: verify file6
        git cat-file blob branch:newdir/exec.sh >actual &&
                 test_cmp expect actual
*   ok 28: E: rfc2822 date, --date-format=raw
*   ok 29: E: rfc2822 date, --date-format=rfc2822
*   ok 30: E: verify pack
* FAIL 31: E: verify commit
        git cat-file commit branch | sed 1,2d >actual &&
                test_cmp expect actual
* FAIL 32: F: non-fast-forward update skips
        if git fast-import <input
                 then
                        echo BAD gfi did not fail
                        return 1
                 else
                        if test $old_branch = `git rev-parse --verify branch^0`
                        then
                                : branch unaffected and failure returned
                                return 0
                        else
                                echo BAD gfi changed branch $old_branch
                                return 1
                        fi
                 fi
                
*   ok 33: F: verify pack
* FAIL 34: F: verify other commit
        git cat-file commit other >actual &&
                test_cmp expect actual
*   ok 35: G: non-fast-forward update forced
*   ok 36: G: verify pack
*   ok 37: G: branch changed, but logged
*   ok 38: H: deletall, add 1
*   ok 39: H: verify pack
* FAIL 40: H: validate old files removed, new files added
        compare_diff_raw expect actual
* FAIL 41: H: verify file
        git cat-file blob H:h/e/l/lo >actual &&
                 test_cmp expect actual
*   ok 42: I: export-pack-edges
* FAIL 43: I: verify edge list
        sed -e s/pack-.*pack/pack-.pack/ edges.list >actual &&
                 test_cmp expect actual
*   ok 44: J: reset existing branch creates empty commit
*   ok 45: J: branch has 1 commit, empty tree
*   ok 46: K: reinit branch with from
*   ok 47: K: verify K^1 = branch^1
* FAIL 48: L: verify internal tree sorting
        git fast-import <input &&
                 git diff-tree --abbrev --raw L^ L >output &&
                 test_cmp expect output
* FAIL 49: M: rename file in same subdirectory
        git fast-import <input &&
                 git diff-tree -M -r M1^ M1 >actual &&
                 compare_diff_raw expect actual
* FAIL 50: M: rename file to new subdirectory
        git fast-import <input &&
                 git diff-tree -M -r M2^ M2 >actual &&
                 compare_diff_raw expect actual
* FAIL 51: M: rename subdirectory to new subdirectory
        git fast-import <input &&
                 git diff-tree -M -r M3^ M3 >actual &&
                 compare_diff_raw expect actual
* FAIL 52: N: copy file in same subdirectory
        git fast-import <input &&
                 git diff-tree -C --find-copies-harder -r N1^ N1 >actual &&
                 compare_diff_raw expect actual
* FAIL 53: N: copy then modify subdirectory
        git fast-import <input &&
                 git diff-tree -C --find-copies-harder -r N2^^ N2 >actual &&
                 compare_diff_raw expect actual
*   ok 54: N: copy dirty subdirectory
*   ok 55: O: comments are all skipped
*   ok 56: O: blank lines not necessary after data commands
*   ok 57: O: repack before next test
* FAIL 58: O: blank lines not necessary after other commands
        git fast-import <input &&
                 test 8 = `find .git/objects/pack -type f | wc -l` &&
                 test `git rev-parse refs/tags/O3-2nd` = `git rev-parse O3^` &&
                 git log --reverse --pretty=oneline O3 | sed s/^.*z// >actual &&
                 test_cmp expect actual
* FAIL 59: O: progress outputs as requested by input
        git fast-import <input >actual &&
                 grep "progress " <input >expect &&
                 test_cmp expect actual
*   ok 60: P: supermodule & submodule mix
*   ok 61: P: verbatim SHA gitlinks
*   ok 62: P: fail on inline gitlink
*   ok 63: P: fail on blob mark in gitlink
*   ok 64: Q: commit notes
*   ok 65: Q: verify pack
* FAIL 66: Q: verify first commit
        git cat-file commit notes-test~2 | sed 1d >actual &&
                test_cmp expect actual
* FAIL 67: Q: verify second commit
        git cat-file commit notes-test^ | sed 1d >actual &&
                test_cmp expect actual
* FAIL 68: Q: verify third commit
        git cat-file commit notes-test | sed 1d >actual &&
                test_cmp expect actual
* FAIL 69: Q: verify first notes commit
        git cat-file commit refs/notes/foobar~2 | sed 1d >actual &&
                test_cmp expect actual
* FAIL 70: Q: verify first notes tree
        git cat-file -p refs/notes/foobar~2^{tree} | sed "s/ [0-9a-f]*  / /" >actual &&
                 test_cmp expect actual
* FAIL 71: Q: verify first note for first commit
        git cat-file blob refs/notes/foobar~2:$commit1 >actual && test_cmp expect actual
* FAIL 72: Q: verify first note for second commit
        git cat-file blob refs/notes/foobar~2:$commit2 >actual && test_cmp expect actual
* FAIL 73: Q: verify first note for third commit
        git cat-file blob refs/notes/foobar~2:$commit3 >actual && test_cmp expect actual
* FAIL 74: Q: verify second notes commit
        git cat-file commit refs/notes/foobar^ | sed 1d >actual &&
                test_cmp expect actual
* FAIL 75: Q: verify second notes tree
        git cat-file -p refs/notes/foobar^^{tree} | sed "s/ [0-9a-f]*   / /" >actual &&
                 test_cmp expect actual
* FAIL 76: Q: verify second note for first commit
        git cat-file blob refs/notes/foobar^:$commit1 >actual && test_cmp expect actual
* FAIL 77: Q: verify first note for second commit
        git cat-file blob refs/notes/foobar^:$commit2 >actual && test_cmp expect actual
* FAIL 78: Q: verify first note for third commit
        git cat-file blob refs/notes/foobar^:$commit3 >actual && test_cmp expect actual
* FAIL 79: Q: verify third notes commit
        git cat-file commit refs/notes/foobar2 | sed 1d >actual &&
                test_cmp expect actual
* FAIL 80: Q: verify third notes tree
        git cat-file -p refs/notes/foobar2^{tree} | sed "s/ [0-9a-f]*   / /" >actual &&
                 test_cmp expect actual
* FAIL 81: Q: verify third note for first commit
        git cat-file blob refs/notes/foobar2:$commit1 >actual && test_cmp expect actual
* FAIL 82: Q: verify fourth notes commit
        git cat-file commit refs/notes/foobar | sed 1d >actual &&
                test_cmp expect actual
* FAIL 83: Q: verify fourth notes tree
        git cat-file -p refs/notes/foobar^{tree} | sed "s/ [0-9a-f]*    / /" >actual &&
                 test_cmp expect actual
* FAIL 84: Q: verify second note for second commit
        git cat-file blob refs/notes/foobar:$commit2 >actual && test_cmp expect actual
*   ok 85: R: abort on unsupported feature
*   ok 86: R: supported feature is accepted
*   ok 87: R: abort on receiving feature after data command
*   ok 88: R: only one import-marks feature allowed per stream
*   ok 89: R: export-marks feature results in a marks file being created
*   ok 90: R: export-marks options can be overriden by commandline options
* FAIL 91: R: import to output marks works without any content
        cat input | git fast-import &&
            test_cmp marks.out marks.new
* FAIL 92: R: import marks prefers commandline marks file over the stream
        cat input | git fast-import --import-marks=marks.out &&
            test_cmp marks.out marks.new
* FAIL 93: R: multiple --import-marks= should be honoured
        
            head -n2 marks.out > one.marks &&
            tail -n +3 marks.out > two.marks &&
            git fast-import --import-marks=one.marks --import-marks=two.marks <input &&
            test_cmp marks.out combined.marks
        
* FAIL 94: R: feature relative-marks should be honoured
        
            mkdir -p .git/info/fast-import/ &&
            cp marks.new .git/info/fast-import/relative.in &&
            git fast-import <input &&
            test_cmp marks.new .git/info/fast-import/relative.out
        
* FAIL 95: R: feature no-relative-marks should be honoured
        
            git fast-import <input &&
            test_cmp marks.new non-relative.out
        
* FAIL 96: R: quiet option results in no stats being output
        
            cat input | git fast-import 2> output &&
            test_cmp empty output
        
*   ok 97: R: die on unknown option
*   ok 98: R: unknown commandline options are rejected
*   ok 99: R: ignore non-git options
*   ok 100: R: blob bigger than threshold
*   ok 101: R: verify created pack
* FAIL 102: R: verify written objects
        git --git-dir=R/.git cat-file blob big-file:big1 >actual &&
                 test_cmp expect actual &&
                 a=$(git --git-dir=R/.git rev-parse big-file:big1) &&
                 b=$(git --git-dir=R/.git rev-parse big-file:big2) &&
                 test $a = $b
FATAL: Unexpected exit with SIGINT
gmake[2]: *** [t9300-fast-import.sh] Error 130
gmake[1]: *** [all] Interrupt
gmake: *** [test] Interrupt

Hope that helps,
-- 
Gary V. Vaughan (gary@xxxxxxxxxxxxxxxxxx)

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]