Ignore:
Timestamp:
02/05/2024 07:07:35 PM (5 months ago)
Author:
Xi Ruoyao <xry111@…>
Branches:
12.1, 12.1-rc1, multilib, trunk, xry111/arm64, xry111/clfs-ng, xry111/loongarch, xry111/loongarch-12.1, xry111/mips64el
Children:
4816dc6
Parents:
ce11e97
git-author:
Xi Ruoyao <xry111@…> (02/05/2024 05:00:53 PM)
git-committer:
Xi Ruoyao <xry111@…> (02/05/2024 07:07:35 PM)
Message:

expect: Add (back) a simple test for PTY

We used to run "expect -c 'spawn ls'" for this in Binutils, but then we
thought expect test suite was enough as such a simple PTY test. However
expect test can fail due to some different reason, so add back a simple
test using Python pty module before building expect. Now we no longer
need to consider expect test critical (IIRC there was a report saying
one expect test failed for unknown reason but all other things OK).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chapter08/expect.xml

    rce11e97 r1fde756b  
    4949    <title>Installation of Expect</title>
    5050
     51    <para>Expect needs PTYs to work.  Verify that the PTYs are working
     52    properly inside the chroot environment by performing a simple
     53    test:</para>
     54
     55<screen><userinput remap="test">python3 -c 'from pty import spawn; spawn(["echo", "ok"])'</userinput></screen>
     56
     57    <para>This command should output <computeroutput>ok</computeroutput>.
     58    If, instead, the output includes <computeroutput>OSError: out of pty
     59    devices</computeroutput>, then the environment is not set up for proper
     60    PTY operation.  You need to exit from the chroot environment, read
     61    <xref linkend='ch-tools-kernfs'/> again, and ensure the
     62    <systemitem class="filesystem">devpts</systemitem> file system (and
     63    other virtual kernel file systems) mounted correctly.  Then reenter
     64    the chroot environment following <xref linkend='ch-tools-chroot'/>.
     65    This issue needs to be resolved before continuing, or the test suites
     66    requring Expect (for example the test suites of Bash, Binutils, GCC,
     67    GDBM, and of course Expect itself) will fail catastrophically, and other
     68    subtle breakages may also happen.</para>
     69
    5170    <para>Prepare Expect for compilation:</para>
    5271
     
    83102<screen><userinput remap="make">make</userinput></screen>
    84103
    85     <important>
    86       <para>The test suite for Expect is considered critical.
    87       Do not skip it under any circumstances.</para>
    88     </important>
    89 
    90104    <para>To test the results, issue:</para>
    91105
    92106<screen><userinput remap="test">make test</userinput></screen>
    93 
    94     <para>If any test fails with the message
    95     <computeroutput>The system has no more ptys. Ask your system
    96     administrator to create more</computeroutput>, it indicates
    97     you've not mounted the
    98     <systemitem class="filesystem">devpts</systemitem> file system
    99     correctly.  You need to exit from the chroot environment, read
    100     <xref linkend='ch-tools-kernfs'/> again, and ensure the
    101     <systemitem class="filesystem">devpts</systemitem> file system (and
    102     other virtual kernel file systems) mounted correctly.  Then reenter
    103     the chroot environment following <xref linkend='ch-tools-chroot'/>.
    104     This issue needs to be resolved before continuing.</para>
    105107
    106108    <para>Install the package:</para>
Note: See TracChangeset for help on using the changeset viewer.