examples: beware of readline on macOS

macOS' version of readline does not repeat stdin on stdout in
non-interactive mode, contrary to the current version of GNU readline.

* examples/test: Add support for strip_prompt.
* examples/c/bistromathic/bistromathic.test (strip_prompt): Set it
when needed.
Early exit when needed.
This commit is contained in:
Akim Demaille
2020-04-18 09:27:14 +02:00
parent d6ae95fb50
commit 8b5fb7c4c3
2 changed files with 31 additions and 1 deletions

View File

@@ -15,6 +15,12 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# macOS' version of readline does not repeat stdin on stdout in
# non-interactive mode.
if ! echo '1-1' | prog | grep '1-1'; then
strip_prompt=true
fi
cat >input <<EOF
1+2*3
EOF
@@ -85,6 +91,17 @@ run 0 '> 1 / 0
## Completion. ##
## ------------ ##
# From now on, the differences between versions of GNU Readline are
# too painful to try to cope with.
if $strip_prompt; then
echo "SKIP: this is not the GNU Readline we expect"
if $exit; then
exit 0
else
exit 1
fi
fi
# Check completion after an operator.
sed -e 's/\\t/ /g' >input <<EOF
(1+\t\t