mirror of
https://github.com/rkd77/elinks.git
synced 2024-12-04 14:46:47 -05:00
144 lines
3.7 KiB
Bash
Executable File
144 lines
3.7 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# shell script menus for elinks binary testing
|
|
#
|
|
|
|
CUR_TEST=hello
|
|
|
|
clear
|
|
|
|
echo ' --/ \--'
|
|
echo ' --[ Welcome to the elinks test helper ]--'
|
|
echo ' --[ ]--'
|
|
echo ' --[ [*] use option 1 to run dump test ]--'
|
|
echo ' --\ /--'
|
|
echo ' '
|
|
|
|
# RUN TEST
|
|
run_test() {
|
|
if [ "$1" = "hello" ]; then
|
|
$ELINKS --dump ./test/hello.html
|
|
elif [ "$1" = "http" ]; then
|
|
echo "[=] assumes You're running https server on port 9452"
|
|
echo "[=] see http_server option"
|
|
$ELINKS \
|
|
--dump http://127.0.0.1:9452 | head
|
|
elif [ "$1" = "https" ]; then
|
|
echo "[=] assumes You're running https server on port 9453"
|
|
echo "[=] see https_server option"
|
|
$ELINKS \
|
|
-eval 'set connection.ssl.cert_verify = 0' \
|
|
--dump https://127.0.0.1:9453 | head
|
|
elif [ "$1" = "interactive" ]; then
|
|
# set 256 colors terminal
|
|
# use: export TERM=xterm-256color
|
|
# and use compiled elinks with the tests folder
|
|
if [ "$ARCH" = "win64" ]; then
|
|
export TERM=dumb
|
|
$ELINKS \
|
|
--config-dir `pwd`/test/etc \
|
|
./test
|
|
else
|
|
export TERM=xterm-256color
|
|
$ELINKS \
|
|
--config-dir `pwd`/test/etc \
|
|
-eval 'set terminal.xterm-256color.colors = 3' \
|
|
./test
|
|
fi
|
|
fi
|
|
}
|
|
|
|
# HTTP SERVER MENU
|
|
http_menu() {
|
|
HTTP_OPTS="start_http stop_http return"
|
|
echo ""
|
|
echo "--[ http server menu ]--"
|
|
echo ""
|
|
select SEL in $HTTP_OPTS; do
|
|
echo " [*] http server menu "
|
|
if [ "$SEL" = "start_http" ]; then
|
|
python3 ./test/server/httpf.py &
|
|
PID=`echo $!`
|
|
echo $PID > /tmp/eltmpf.pid
|
|
echo "[*} Starting http server (pid $PID)"
|
|
elif [ "$SEL" = "stop_http" ]; then
|
|
PID=`cat /tmp/eltmpf.pid`
|
|
echo "[*] Stopping http server (pid $PID)"
|
|
kill $PID
|
|
elif [ "$SEL" = "return" ]; then
|
|
break
|
|
fi
|
|
done
|
|
}
|
|
|
|
# HTTPS SERVER MENU
|
|
https_menu() {
|
|
HTTPS_OPTS="start_https stop_https certgen return"
|
|
echo "--[ https server menu ]--"
|
|
echo ""
|
|
echo " [*] use certgen to generate server certificate"
|
|
echo ""
|
|
select SEL in $HTTPS_OPTS; do
|
|
echo " [*] https server menu "
|
|
if [ "$SEL" = "start_https" ]; then
|
|
python3 ./test/server/https.py &
|
|
PID=`echo $!`
|
|
echo $PID > /tmp/eltmp.pid
|
|
echo "[*} Starting https server (pid $PID)"
|
|
elif [ "$SEL" = "stop_https" ]; then
|
|
PID=`cat /tmp/eltmp.pid`
|
|
echo "[*] Stopping https server (pid $PID)"
|
|
kill $PID
|
|
elif [ "$SEL" = "certgen" ]; then
|
|
echo "[*] generation ssl certificate for the https server"
|
|
./test/server/gen.sh
|
|
elif [ "$SEL" = "return" ]; then
|
|
break
|
|
fi
|
|
done
|
|
}
|
|
|
|
# MAIN LOOP
|
|
#
|
|
# When called from build.sh it will get first
|
|
# parameter as binary suffix and second parameter
|
|
# as architecture
|
|
#
|
|
if [ -d $1 ]; then
|
|
BIN_SUFFIX=""
|
|
else
|
|
BIN_SUFFIX=$1
|
|
fi
|
|
if [ -d $2 ]; then
|
|
ARCHIT="lin64"
|
|
else
|
|
ARCHIT=$2
|
|
fi
|
|
echo $ARCH $BIN_SUFFIX
|
|
if [ -f ../bin/elinks_$ARCH$BIN_SUFFIX ]; then
|
|
ELINKS=../bin/elinks_$ARCH$BIN_SUFFIX
|
|
else
|
|
ELINKS=./src/elinks$BIN_SUFFIX
|
|
fi
|
|
SEL="none"
|
|
OPTS="hello http https interactive null null null null null http_server https_server exit"
|
|
select SEL in $OPTS; do
|
|
echo "[*] Current test : " $SEL
|
|
echo "[*] Current bin : " $ELINKS
|
|
if [ "$SEL" = "hello" ]; then
|
|
run_test $SEL
|
|
elif [ "$SEL" = "http" ]; then
|
|
run_test $SEL
|
|
elif [ "$SEL" = "https" ]; then
|
|
run_test $SEL
|
|
elif [ "$SEL" = "interactive" ]; then
|
|
run_test $SEL
|
|
elif [ "$SEL" = "http_server" ]; then
|
|
http_menu
|
|
elif [ "$SEL" = "https_server" ]; then
|
|
https_menu
|
|
elif [ "$SEL" = "exit" ]; then
|
|
exit
|
|
fi
|
|
done
|