Re: [PATCH/RFC 7/7] t7006-pager: if stdout is not a terminal, make a new one

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

 



>> On Fri, Feb 19, 2010 at 02:19:47AM -0600, Jonathan Nieder wrote:
>>
>>> Jeff King wrote:
>>>
>>>> Solaris 8 and 9 seem to be lacking it. Solaris 10 does have it. AIX 5.2
>>>> and 6.1 both have it.
>>>>
>>>> So it would mean some platforms couldn't run all tests. That is probably
>>>> good enough, given that most of our terminal-related bugs have not been
>>>> platform-specific problems.
>>> Hmm, how about /dev/ptmx?  (One can check by replacing posix_openpt(...)
>>> with open("/dev/ptmx", ...) in the test-terminal.c I sent.)

Didn't work on Solaris 7.  I applied your series on top of master with the
change you described.  Here's the diff:

diff --git a/test-terminal.c b/test-terminal.c
index f4d6a71..6408a7d 100644
--- a/test-terminal.c
+++ b/test-terminal.c
@@ -6,7 +6,7 @@ static void newtty(int *master, int *slave)
        int fd;
        const char *term;
 
-       fd = posix_openpt(O_RDWR|O_NOCTTY);
+       fd = open("/dev/ptmx", O_RDWR|O_NOCTTY);
        if (fd == -1 || grantpt(fd) || unlockpt(fd) || !(term = ptsname(fd)))
                die_errno("Could not allocate a new pseudo-terminal");
        *master = fd;


Here's the result of the terminal test:

  # ./test-terminal sh -c "test -t 1"
  # echo $?
  1


And here's the output of t7006-pager:
*** t7006-pager.sh ***
*   ok 1: set up terminal for tests
* no usable terminal, so skipping some tests
*   ok 2: setup
* skip 3: some commands use a pager
* skip 4: some commands do not use a pager
*   ok 5: no pager when stdout is a pipe
*   ok 6: no pager when stdout is a regular file
* skip 7: git --paginate rev-list uses a pager
*   ok 8: no pager even with --paginate when stdout is a pipe
* skip 9: no pager with --no-pager
*   ok 10: tests can detect color
*   ok 11: no color when stdout is a regular file
* skip 12: color when writing to a pager
*   ok 13: color when writing to a file intended for a pager
*   ok 14: determine default pager
* skip 15: default pager is used by default
* skip 16: PAGER overrides default pager
* skip 17: core.pager overrides PAGER
* skip 18: GIT_PAGER overrides core.pager
* passed all 18 test(s)

hth,
-brandon
--
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]