Terminal emulator with all the bells and whistles https://www.enlightenment.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Boris Faure c11f7e4c19 termptyesc: restrict DSR-DECCKSR argument to 16bit (unsigned) 4 years ago
..
README.md tests: add first tests + test framework 5 years ago
c2.sh tests: get rid of that useless UTF8CC code 5 years ago
cbt.sh termptyesc: extract CBT handler to its own function + tests 5 years ago
cell_is_empty.sh termpty: cell is empty if bg is invisible. Closes T7707 5 years ago
cha.sh termptyesc: CHA has to take into account DECOM + tests 5 years ago
cnl.sh tests: avoid using $ in printf 5 years ago
colors.sh tests/colors: use \033 in printf instead of \x1b 5 years ago
cpl.sh tests: avoid using $ in printf 5 years ago
ctc.sh termptyesc: handle CTC + tests 5 years ago
cup.sh tests: CUP: test going outside margins 5 years ago
cursor-movements-alias.sh termptyesc: support aliases for cursor Up/Left + tests 5 years ago
cursor-movements.sh termptyesc: support aliases for cursor Up/Left + tests 5 years ago
cursor-shape-0.sh tests: on cursor shapes and regen tests.results 5 years ago
cursor-shape-1.sh tests: on cursor shapes and regen tests.results 5 years ago
cursor-shape-2.sh tests: on cursor shapes and regen tests.results 5 years ago
cursor-shape-3.sh tests: on cursor shapes and regen tests.results 5 years ago
cursor-shape-4.sh tests: on cursor shapes and regen tests.results 5 years ago
cursor-shape-5.sh tests: on cursor shapes and regen tests.results 5 years ago
cursor-shape-6.sh tests: on cursor shapes and regen tests.results 5 years ago
cursor-shape-7.sh tests: on cursor shapes and regen tests.results 5 years ago
da.sh tests: use shorter sleeps to speed up test execution 5 years ago
dch.sh tests: avoid using $ in printf 5 years ago
decaln.sh tests: ensure DECALN moves cursor to 0;0 5 years ago
decawm.sh tests: avoid using $ in printf 5 years ago
decbi.sh termptyesc: support DECFI 5 years ago
deccara-no-rectangular-no-restrict-cursor.sh termptyesc: DECCRARA/DECRARA when not in rectangle mode + tests 5 years ago
deccara-no-rectangular-restrict-cursor.sh termptyesc: DECCRARA/DECRARA when not in rectangle mode + tests 5 years ago
deccara-rectangular-no-restrict-cursor.sh termptyesc: handle deccara in its rectangular form + tests 5 years ago
deccara-rectangular-restrict-cursor.sh termptyesc: handle deccara in its rectangular form + tests 5 years ago
deccra.sh termptyesc: support DECCRA + tests 5 years ago
decera-decfra-extra.sh tests: avoid using $ in printf 5 years ago
decera-no-restrict-cursor.sh tests: avoid using $ in printf 5 years ago
decera-restrict-cursor.sh tests: avoid using $ in printf 5 years ago
decfi.sh termptyesc: refuse no value on decfra on the character to fill up + tests 5 years ago
decfra-decera-default-values-no-restrict-cursor.sh termptyesc: refuse no value on decfra on the character to fill up + tests 5 years ago
decfra-decera-default-values-restrict-cursor.sh termptyesc: refuse no value on decfra on the character to fill up + tests 5 years ago
decfra-no-restrict-cursor.sh tests: avoid using $ in printf 5 years ago
decfra-restrict-cursor.sh tests: avoid using $ in printf 5 years ago
decic-decdc.sh termptyesc: support DECIC/DECDC + tests 5 years ago
decrara-no-rectangular-no-restrict-cursor.sh termptyesc: DECCRARA/DECRARA when not in rectangle mode + tests 5 years ago
decrara-no-rectangular-restrict-cursor.sh termptyesc: DECCRARA/DECRARA when not in rectangle mode + tests 5 years ago
decrara-rectangular-no-restrict-cursor.sh termptyesc: DECCRARA/DECRARA when not in rectangle mode + tests 5 years ago
decrara-rectangular-restrict-cursor.sh termptyesc: DECCRARA/DECRARA when not in rectangle mode + tests 5 years ago
decsclm.sh tests: avoid using $ in printf 5 years ago
decst8c.sh termptyesc: support DECST8C + tests 5 years ago
decswbv.sh termptyesc: handle DECSWBV + tests 5 years ago
dl.sh termptyesc: DL moves the cursor to left margin + tests 5 years ago
dsr-cpr.sh tests: use shorter sleeps to speed up test execution 5 years ago
dsr-deccksr.sh termptyesc: add support DSR-DECCKSR + test 5 years ago
dsr-dir.sh termptyesc: handle DSR-DIR (Data Integrity Report) + test 5 years ago
dsr-kbd.sh tytest: add write buffer to checksum 5 years ago
dsr-msr.sh termptyesc: support DSR-MSR (0 Macro Space) + test 5 years ago
dsr-os.sh termptyesc: support DSR-OS + test 5 years ago
dsr-pp.sh termpty: support DSR-PP (Printer Port) + test 5 years ago
dsr-udk.sh termptyesc: support DSR-UDK + test 5 years ago
ech.sh termptyesc: extract ECH handler to its own function + test 5 years ago
ed-0.sh termptyesc: move ED handler to its own functions + add tests 5 years ago
ed-1.sh termptyesc: move ED handler to its own functions + add tests 5 years ago
ed-2.sh termptyesc: move ED handler to its own functions + add tests 5 years ago
ed-3.sh termptyesc: move ED handler to its own functions + add tests 5 years ago
ed-4.sh termptyesc: move ED handler to its own functions + add tests 5 years ago
el.sh termptyesc: export EL handler to its own function + add tests 5 years ago
fonts.sh update tests to reflect changes on double-width handling 5 years ago
hang-invalid-truecolors.sh termptyesc: fix hangs spotted by afl-fuzz + tests 5 years ago
hpa.sh termptyesc: CHA and HPA are the same 5 years ago
hvp.sh tests: add some on HVP 5 years ago
ich.sh tests: ICH with amount=0 5 years ago
il.sh tests: add missing il.sh 5 years ago
link_detection.sh tests: fix printf usage on alpine 4 years ago
mouse_reporting_mode_all_ext_none.sh termiointernals: handle mouse wheel with alt + tests 5 years ago
mouse_reporting_mode_all_ext_sgr.sh tests: add some on mouse reporting in mode "all", SGR reporting 5 years ago
mouse_reporting_mode_all_ext_urxvt.sh tests: add some on mouse reporting in mode "all", urxvt reporting 5 years ago
mouse_reporting_mode_all_ext_utf8.sh termiointernals: handle mouse wheel with alt + tests 5 years ago
mouse_reporting_mode_mouse_move_pressed_ext_none.sh termiointernals: handle mouse wheel with alt + tests 5 years ago
mouse_reporting_mode_mouse_move_pressed_ext_sgr.sh tests: add some on mouse reporting in ext move while pressed mode, sgr reporting 5 years ago
mouse_reporting_mode_mouse_move_pressed_ext_urxvt.sh tests: add some on mouse reporting in ext move while pressed mode, urxvt reporting 5 years ago
mouse_reporting_mode_mouse_move_pressed_ext_utf8.sh termiointernals: handle mouse wheel with alt + tests 5 years ago
mouse_reporting_mode_normal_ext_none.sh termiointernals: handle mouse wheel with alt + tests 5 years ago
mouse_reporting_mode_normal_ext_sgr.sh tests: add some on mouse reporting in normal mode, sgr reporting 5 years ago
mouse_reporting_mode_normal_ext_urxvt.sh tests: add some on mouse reporting in normal mode, URXVT reporting 5 years ago
mouse_reporting_mode_normal_ext_utf8.sh termiointernals: handle mouse wheel with alt + tests 5 years ago
mouse_reporting_mode_x10_ext_none.sh termiointernals: handle mouse wheel with alt + tests 5 years ago
mouse_reporting_mode_x10_ext_sgr.sh tests: add some on mouse reporting in X10 mode, SGR reporting 5 years ago
mouse_reporting_mode_x10_ext_urxvt.sh tests: add some on mouse reporting in X10 mode, URXVT reporting 5 years ago
mouse_reporting_mode_x10_ext_utf8.sh termiointernals: handle mouse wheel with alt + tests 5 years ago
osc-11-query.sh termptyesc: handle OSC 11 that reports background color 4 years ago
rep.sh termptyesc: extract REP handler to its own function + tests 5 years ago
resize_window_no_content_change.sh termptyesc: resize parameters were inverted 5 years ago
run_tests.sh tests/termptyesc: handle DECSACE 5 years ago
sd.sh termptyesc: extract SD/SU to their own functions 5 years ago
selection_all_directions.sh tests: add some selections in all directions 5 years ago
selection_box_all_directions.sh tests: add some on box selections in all directions 5 years ago
selection_box_drag.sh tests: ensure selection is removed in dragging test 5 years ago
selection_box_simple.sh tests: add some on box selections (with ctrl) 5 years ago
selection_box_to_paragraph.sh tests: update tests due to fix in previous commit 5 years ago
selection_box_to_position.sh tests: update tests due to fix in previous commit 5 years ago
selection_box_to_word.sh tests: fix wrong escape code in selection_box_to_word.sh 4 years ago
selection_double_click.sh tests: add some on double click selection 5 years ago
selection_drag.sh tests: do not keep corners on if click shall invalidate selection 5 years ago
selection_in_history.sh add test about bug fixed in e33d07f492 4 years ago
selection_invalidation_line_removed.sh tests: add one on selection invalidation when line got removed 5 years ago
selection_invisible.sh tests: add some tests on selection from/to invisible area 5 years ago
selection_over_multiple_lines.sh tests: not left-trimming 5 years ago
selection_scrolls.sh tests: add a test about selection keeping up while text is scrolling 5 years ago
selection_simple.sh tests: use correct escape code 5 years ago
selection_to_paragraph.sh tests: add some on selection *to* paragraphs 5 years ago
selection_to_position.sh tests/selection_to_position.sh: add "TO" within selection 5 years ago
selection_to_word.sh termiointernals: rewrite _sel_word_to() + update tests 5 years ago
selection_triple_click.sh tests: add some on triple-click selections 5 years ago
selection_with_margins_scrolled.sh tests: add case where selection while text is scrolled in margins 5 years ago
selection_word_regression.sh termiointernals: fix regression on selecting word at start of line 5 years ago
sgr-leading-trailing-semicolon.sh termptyesc: handle CSI_ARG_ERROR in some SGR. 5 years ago
sgr-long.sh termptyesc: 98/108 are not valid color codes + test 5 years ago
sgr-truecolors.sh termptyesc: fix truecolors parsing + tests 5 years ago
shift_in_out.sh tests: fix shift_in_out.sh tests to output ascii in [0x20, 0x7f[ 5 years ago
su.sh termptyesc: extract SD/SU to their own functions 5 years ago
tabs.sh tests: add one on tabs 5 years ago
tbc.sh termptyesc: extract TBC to its own function + tests 5 years ago
tests.results termptyesc: restrict DSR-DECCKSR argument to 16bit (unsigned) 4 years ago
text_append_after_right_margin.sh termptyops: do not wrap to left margin when already past right margin 5 years ago
uts.sh termptyesc: support Unset Tab Stop (only VTE so far) + tests 5 years ago
vpa.sh termptyesc: export VPA handler to its own function + tests 5 years ago
xterm-osc-0-title-icon.sh termptyesc: act like xterm, do not report title/icon-name 5 years ago
xterm-osc-1-icon.sh termptyesc: act like xterm, do not report title/icon-name 5 years ago
xterm-osc-2-title.sh termptyesc: act like xterm, do not report title/icon-name 5 years ago

README.md

Very small test framework for Terminology

Goal

Avoid regressions in Terminology's code that parse and interprets escape codes.

Dependencies

  • tytest, compiled with -D tests=true when running meson
  • a posix shell

Tytest

tytest is a simple binary that takes escape codes in input and output an md5 sum. This checksum is computed on the state of terminology after parsing and interpreting those escape codes.

Test cases

Test cases are simple shell scripts that output escape codes.

How to run the tests

A shell script called run_tests.sh is provided to run all the tests given in a test results file. See run_tests.sh --help for more information.

Test results file

When running a test through tytest, an md5 sum is computed. This checksum is stored with the name of the test in a file called tests.results. If terminology's behaviour changed, then the checksum will change. This will be noticed by run_tests.sh and will show those tests as failed.