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 7da500c3f9
add test on OSC 52
1 month 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
color_link_css_hsl.sh termiolink: fix _hsl_to_rgb() + update tests 3 years ago
color_link_css_rgb.sh tests: add one on link over css rgb colors 3 years ago
color_link_edc.sh tests: on color links found in EDC files 3 years ago
color_link_sharp.sh test: one on detecting colors 3 years ago
colors.sh tests/colors: use \033 in printf instead of \x1b 5 years ago
colors_regression.sh tests: test the conflict of color9 vs COL_INVIS 2 years ago
cpl.sh tests: avoid using $ in printf 5 years ago
crash_empty_osc.sh termptyesc: fix issue found by fuzzing by Øyvind Kolås (pippin from GIMP) 3 years ago
csi-38-no-value.sh termptyesc: handle empty CSI SRG 38/48 6 months 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-restore-wrapnext.sh tests: test that cursor restore does restore wrapnext status 2 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: only sleep within testing ui 3 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: only sleep within testing ui 3 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
esc_term_name_version.sh tests: only sleep within testing ui 3 years ago
fonts.sh update tests to reflect changes on double-width handling 4 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
link_detection_email_surrounded.sh tests: add test on link detection with emails being surrounded 4 years ago
link_detection_email_surrounded_more.sh link detection: handle unicode + mode surrounding cases + test 4 years ago
mouse_reporting_mode_all_ext_none.sh tests: only sleep within testing ui 3 years ago
mouse_reporting_mode_all_ext_sgr.sh tests: only sleep within testing ui 3 years ago
mouse_reporting_mode_all_ext_urxvt.sh tests: only sleep within testing ui 3 years ago
mouse_reporting_mode_all_ext_utf8.sh tests: only sleep within testing ui 3 years ago
mouse_reporting_mode_mouse_move_pressed_ext_none.sh tests: only sleep within testing ui 3 years ago
mouse_reporting_mode_mouse_move_pressed_ext_sgr.sh tests: only sleep within testing ui 3 years ago
mouse_reporting_mode_mouse_move_pressed_ext_urxvt.sh tests: only sleep within testing ui 3 years ago
mouse_reporting_mode_mouse_move_pressed_ext_utf8.sh tests: only sleep within testing ui 3 years ago
mouse_reporting_mode_normal_ext_none.sh tests: only sleep within testing ui 3 years ago
mouse_reporting_mode_normal_ext_sgr.sh tests: only sleep within testing ui 3 years ago
mouse_reporting_mode_normal_ext_urxvt.sh tests: only sleep within testing ui 3 years ago
mouse_reporting_mode_normal_ext_utf8.sh tests: only sleep within testing ui 3 years ago
mouse_reporting_mode_x10_ext_none.sh tests: only sleep within testing ui 3 years ago
mouse_reporting_mode_x10_ext_sgr.sh tests: only sleep within testing ui 3 years ago
mouse_reporting_mode_x10_ext_urxvt.sh tests: only sleep within testing ui 3 years ago
mouse_reporting_mode_x10_ext_utf8.sh tests: only sleep within testing ui 3 years ago
osc-11-query.sh tests: only sleep within testing ui 3 years ago
osc-invalid.sh termptyesc: handle invalid values for OSC + test 4 years ago
osc_selection.sh add test on OSC 52 1 month 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: allow disabling some tests 1 month 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_in_history.sh tests: add one making a box selection in the backlog 3 years ago
selection_box_scrolls_down.sh tests: box selection scrolls down 3 years ago
selection_box_scrolls_up.sh tests: add box selection that scrolls up 3 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_empty_lines.sh tests: add one about selecting over empty lines 4 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_scrolls_down.sh tests: selection to the bottom scrolls down 3 years ago
selection_scrolls_up.sh tests: add one when selection scrolls up 3 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_with_tabs.sh tests: works better with the file being committed xD 4 years ago
selection_word_low_ascii_separators.sh tests: add one about '-' not being a word separator 3 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 add test on OSC 52 1 month ago
text_append_after_right_margin.sh termptyops: do not wrap to left margin when already past right margin 5 years ago
title_icon_stack_default.sh termptyesc: add title/icon stack + tests 4 years ago
title_icon_stack_simple.sh termptyesc: add title/icon stack + tests 4 years ago
title_icon_stack_unset.sh termptyesc: add title/icon stack + tests 4 years ago
true_color_cache_reuse.sh tests: reuse one of 32 TrueColors over the terminal 3 years ago
true_color_cache_thrashing.sh tests: on true color cache thrashing 3 years ago
utils.sh sh: compare strings but not illegal numbers 3 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-colors-rgb.sh termptyesc: handle xterm color format starting with "rgb:" 3 years ago
xterm-colors-rgbi.sh termptyesc: handle xterm color format starting with "rgbi:" 3 years ago
xterm-colors-sharp.sh termptyesc: handle larger sharp-based colors + tests 3 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
xterm-osc-10.sh tests: only sleep within testing ui 3 years ago
xterm-osc-11.sh tests: only sleep within testing ui 3 years ago
xterm-osc-12.sh tests: only sleep within testing ui 3 years ago
xterm-set-cursor-color.sh tests: remove early exit 3 years ago
zero-width-spaces.sh termptyesc: handle zero-width spaces, with test 4 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.