git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Building GIT on HP-UX: "make test" fails

From
UWUlrich Windl <ulrich.windl@rz.uni-regensburg.de>
Date
Aug 4, 2009, 06:39 UTC
Message-ID
<4A77F3D9.4170.5574656@Ulrich.Windl.rkdvmks1.ngate.uni-regensburg.de>
In-Reply-To
<81b0412b0908030754l553ddac2y4c2e7f9fe606e67a@mail.gmail.com>
On 3 Aug 2009 at 16:54, Alex Riesen wrote:
Show 6 quoted lines
> Try:
> 
>   $ cd t && ./t0100-previous.sh -d -v -i
> 
> Look at the output and if you can't make anything out of it,
> just post it here.
Hi!

Thanks for that. It seems the basic problem is: fatal: your vsnprintf is broken

However from my own programming I realized that HP-UX and Linux vsnprintf return different values. Here's how I deal with it:

My comment says:
Define ``C99_LIBRARY'' fixes incompatible return value of
 * ``snprintf()'' that causes memory corruption on error with C99-compliant
 * C library. 
[...]
 * Handle negative return value of ``snprintf()'' properly.
[...]
        csp[cap] = '\0';
        d = snprintf(csp, cap, "%s", base);
#ifdef  C99_LIBRARY
        if ( d > cap )
                d = cap;
#else
        if ( d > 0 )
#endif
                csp += d, cap -= d;
--------
Back to the test output; here it is:
./t0100-previous.sh -d -v -i
Initialized empty Git repository in /home/windl/GNU/git-1.6.2.5/t/trash 
directory.t0100-previous/.git/
* expecting success:
        test_commit A &&
        git checkout -b junk &&
        git checkout - &&
        test "$(git symbolic-ref HEAD)" = refs/heads/master &&
        git branch -d @{-1} &&
        test_must_fail git rev-parse --verify refs/heads/junk
[master (root-commit) 0ddfaf1] A
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 A.t
Switched to a new branch 'junk'
Switched to branch 'master'
Deleted branch junk (was 0ddfaf1).
fatal: Needed a single revision
*   ok 1: branch -d @{-1}
* expecting success:
        git reflog expire --expire=now &&
        git checkout -b junk2 &&
        git checkout - &&
        test "$(git symbolic-ref HEAD)" = refs/heads/master &&
        test_must_fail git branch -d @{-12} &&
        git rev-parse --verify refs/heads/master
Switched to a new branch 'junk2'
Switched to branch 'master'
error: branch '@{-12}' not found.
0ddfaf193ff13d6ab39b7cbd9eed645e3ee2f050
*   ok 2: branch -d @{-12} when there is not enough switches yet
* expecting success:
        git checkout A &&
        test_commit B &&
        git checkout A &&
        test_commit C &&
        git branch -f master B &&
        git branch -f other &&
        git checkout other &&
        git checkout master &&
        git merge @{-1} &&
        git cat-file commit HEAD | grep "Merge branch 'other'"
Note: moving to 'A' which isn't a local branch
If you want to create a new branch from this checkout, you may do so
(now or later) by using -b with the checkout command again. Example:
  git checkout -b <new_branch_name>
HEAD is now at 0ddfaf1... A
[detached HEAD d9df450] B
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 B.t
Previous HEAD position was d9df450... B
fatal: your vsnprintf is broken
* FAIL 3: merge @{-1}
                git checkout A &&
                test_commit B &&
                git checkout A &&
                test_commit C &&
                git branch -f master B &&
                git branch -f other &&
                git checkout other &&
                git checkout master &&
                git merge @{-1} &&
                git cat-file commit HEAD | grep "Merge branch 'other'"
Previous: Alex Riesen
Message 3 of 3 in “Building GIT on HP-UX: "make test" fails”
  1. Ulrich WindlAug 3, 2009
  2. Alex RiesenAug 3, 2009
  3. Ulrich WindlAug 4, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.