-
Notifications
You must be signed in to change notification settings - Fork 0
/
osc7.test
57 lines (50 loc) · 3.06 KB
/
osc7.test
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# -*- mode: shell-script -*-
# SPDX-License-Identifier: Apache-2.0
# Copyright 2024 Macon Gambill
# *** This test may garble your terminal. ***
# In its present form, this file is intended to facilitate comparing
# implementations of osc7_path. One way to do this is to compare the
# hashes of respective runs. They should all match. For example:
#
# for s in bash ksh sh; do
# $s osc7.test | sha1
# done
octals='
\012
\015
\012\015
\015\012
\012\012\015
\012\015\015
\012\015\012
\012\015\015
\015\012\012
\015\012\015
\015\015\012
\012\016\057
\0115\0134\001\002\003\040\0342\0200\0242\040\004\005\006\0342\0200\0250\050\0342\0227\0216\051\040\0134\0133\047\047\0305\0240\007\0134\0133\0150\0165\0150\0135\0135\045\064\063\0303\0206\010\011\012\013\014\015\016\017\045\045\064\070\020\0302\0256\021\022\0360\0223\0200\0236\023\045\045\024\0342\0233\0247\0302\0241\025\077\045\060\062\026\0134\0134\027\0134\030\0140\0140\0173\0140\0360\0237\0215\0206\031\0175\0175\0134\045\061\0360\0237\0244\0267\032\040\0134\011\0360\0223\0200\0270\040\041\042\0134\0134\043\044\076\044\045\074\046\047\0100\073\050\051\052\072\072\053\072\0136\046\052\054\0134\040\0134\0134\055\056\056\047\055\054\053\075\0344\0267\0223\0137\0177\0303\0277\033\0133\062\0176\047\040\042\0305\0270\0176\042\074\0342\0200\0250\0342\0200\0250\010\0360\0237\0221\0212\0360\0237\0217\0273\057
\0134\001\002\003\040\0342\0200\0242\040\004\005\006\0342\0200\0250\050\0342\0227\0216\051\040\0134\0133\047\047\0305\0240\007\0134\0133\0150\0165\0150\0135\0135\045\064\063\0303\0206\010\011\012\013\014\016\017\045\045\064\070\020\0302\0256\021\022\0360\0223\0200\0236\023\045\045\024\0342\0233\0247\0302\0241\025\077\045\060\062\026\0134\0134\027\0134\030\0140\0140\0173\0140\0360\0237\0215\0206\031\0175\0175\0134\045\061\0360\0237\0244\0267\032\040\0134\011\0360\0223\0200\0270\040\041\042\0134\0134\043\044\076\044\045\074\046\047\0100\073\050\051\052\072\072\053\072\0136\046\052\054\0134\040\0134\0134\055\056\056\047\055\054\053\075\0344\0267\0223\0137\0177\0303\0277\033\0133\062\0176\047\040\042\0305\0270\0176\042\074\0342\0200\0250\0342\0200\0250\010\0360\0237\0221\0212\0360\0237\0217\0273\057
\0135\0133\0137\056\047\042\0140\0146\0176\0100\044\0136\052\050\051\0173\0175\0174\074\076\073\072\053\075\055\011\040\011\011\0156\0157\040\0146\0157\0162\0153\0151\0156\0147\040\0145\0150\077\040\050\0141\0156\0157\0164\0150\0145\0162\040\0157\0156\0145\051\057
\0135\0133\0137\056\047\042\0140\0146\0176\0100\044\0136\052\050\051\0173\0175\0174\074\076\073\072\053\075\055\011\040\011\011\0156\0157\040\0146\0157\0162\0153\0151\0156\0147\040\0145\0150\077\057
\0142\0153\0165\0160\057
\0153\012\0156\057
\0170\015\0171\057'
if [ -n "${1:-}" ]; then
cd "$1" || exit 4
fi
if [ -n "${KSH_VERSION:-}" ]; then
s=ksh
elif [ -n "${BASHOPTS:-}" ]; then
s=bash
elif [ -n "${SHELL:-}" ]; then
s="${SHELL##*/}"
fi
if [ "$s" != test ] && [ -f "./osc7.$s" ]; then
. "./osc7.$s"
for o in $octals; do
osc7_path "$(echo -en "$o")"
done
else
echo Unknown shell 1>&2
exit 4
fi