% jwilm@kurast.local ➜  ~/code/alacritty  [?1h=[?2004hggigit log[?1l>[?2004l [?1049h[?1h= commit bdd21810882dbba8485ac44c871482dfc6ea9b93 Author: Joe Wilm  Date: Sat Nov 19 16:16:20 2016 -0800  Add support for recording/running ref tests  Ref tests use a recording of the terminal protocol and a serialization of the grid state to check that the parsing and action handling systems produce the correct result. Ref tests may be recorded by running alacritty with `--ref-test` and closing the terminal by using the window "X" button. At that point, the recording is fully written to disk, and a serialization of important state is recorded. Those files should be moved to an appropriate folder in the `tests/ref/` tree, and the `ref_test!` macro invocation should be updated accordingly.  A couple of changes were necessary to make this work:  * Ref tests shouldn't create a pty; the pty was refactored out of the `Term` type. * Repeatable lines/cols were needed; on startup, the terminal is resized * by default to 80x24 though that may be changed by passing `--dimensions w h`. * Calculating window size based on desired rows/columns and font metrics :  required making load_font callable multiple times. I think this still :  needs to be done for linux. :  * Refactor types into library crate so they may be imported in an :  integration test. :  * A whole bunch of types needed symmetric serialization and :  deserialization. Mostly this was just adding derives, but the custom :  deserialization of Rgb had to change to a deserialize_with function. :   :  This initially adds one ref test as a sanity check, and more will be :  added in subsequent commits. This initial ref tests just starts the :  terminal and runs `ll`. :  : commit d97996e19de6856c23c51d05ec10f10db41e309d : Author: Joe Wilm  : [?1l>[?1049l% jwilm@kurast.local ➜  ~/code/alacritty  [?1h=[?2004httmtmutmux[?1l>[?2004l [?1049h(B[?1l>[?12l[?25h[?1000l[?1002l[?1006l[?1005l]112[?25l                       1:reattach-to-user-namespace* (B[?12l[?25hg[?25l1:zsh* (B[?12l[?25h%(B    jwilm@kurast.local ➜ ~/code/alacritty (B [?1h=[?2004hg(Bgi(Bgit(B lg[?1l> [?2004l[?25l                      [?12l[?25h[?1h=* bdd2181(B - (2 hours ago)(B Add support for recording/running ref tests - Joe Wilm(B  (HEAD -> ref-tests, origin/ref-tests) (B| * d629f72(B - (2 days ago)(B WIP on master: d97996e Make bindings configurable f rom alacritty.yml - Joe Wilm(B (refs/stash) (B| |\ |/ / |(B * 5908bde(B - (2 days ago)(B index on master: d97996e Make bindings configurable f rom alacritty.yml - Joe Wilm (B|/ * d97996e(B - (4 days (Bago)(B Make bindings configurable from alacritty.yml - Joe Wil(B m(B (o(Brigin/master, origin/bindings-v2, origin/HEAD, master, bindings-v2) (B* cb2bc4e(B - (4 days ago)(B Fix test for Cell layout - Joe Wilm (B* cbb9167(B - (5 days ago)(B Redraw screen on focus - Joe Wilm (B* 8360ab4(B - (8 days ago)(B Fallback to received chars when no bindings - Joe Wilm (B* 6925daa(B - (8 days ago)(B Fix/add some keybindings - Jo(Be Wilm (B* e426013(B - (8 days ago)(B Fix alacritty shutdown when shell exits on macOS - Joe (B Wilm (B* 8cbd768(B - (8 days ago)(B Fix resize on macOS leaving screen blank - Joe Wilm (B* a652b4a(B - (8 days ago)(B Rustup - Joe Wilm (B* 3e0b2b6(B - (8 days ago)(B Fix config file reloading on macOS - (BJoe Wilm (B* be036ed(B - (8 days ago)(B Workaround for cutoff glyphs - Joe Wilm(B * 82c8804(B - (3 weeks ago)(B Update default config - Joe Wilm(B :[?25l 1:git* (B[?12l[?25h * a81152c(B - (3 weeks ago)(B Support drawing bold test with bright colors - Joe Wil(B : m(B : * 7cd8a6c(B - (3 weeks ago)(B Merge branch 'reload-colors' - Joe Wilm(B : |\ : | * f8cb6d4(B - (3 weeks ago)(B Set colors on CPU - Joe Wilm(B : | * cb2fa27(B - (3 weeks ago)(B Dynamically update render_timer config - Joe Wilm(B : | * 06ea6c8(B - (3 weeks ago)(B Move config reloading to separate thread - Joe Wilm(B : | * 0958c0f(B - (4 weeks ago)(B Move color indexing to vertex shader - Joe Wilm(B : | * e9304af(B - (4 weeks ago)(B Expand cell::Color layout tests - Joe Wilm(B : | * 741a8b3(B - (4 weeks ago)(B Fix some compiler warnings - Joe Wilm(B : | * b29eed2(B - (4 weeks ago)(B Add discriminant_value test for cell::Color - Joe Wi(Bi(B : lm(B : | * 5876b4b(B - (4 weeks ago)(B Proof of concept live reloading for colors - Joe Wil(Bl(B : m(B : * | e503baf(B - (3 weeks ago)(B Live shader reloading is now a feature - Joe Wilm(B : |/ : | * 655e8f4(B - (4 weeks ago)(B WIP color management - Joe Wilm(B (live-reload-(Bcolors)(B : |/ : * ea07f03(B - (5 weeks ago)(B Add test exhibiting SIGBUS on my machine - Joe Wilm(B : M* a652b4a(B - (8 days ago)(B Rustup - Joe Wilm(B: M* 8cbd768(B - (8 days ago)(B Fix resize on macOS leaving screen blank - Joe Wilm(B: MWilm(B: M* e426013(B - (8 days ago)(B Fix alacritty shutdown when shell exits on macOS - Joe (B: M* 6925daa(B - (8 days ago)(B Fix/add some keybindings - Joe Wilm(B: M* 8360ab4(B - (8 days ago)(B Fallback to received chars when no bindings - Joe Wilm(B: M* cbb9167(B - (5 days ago)(B Redraw screen on focus - Joe Wilm(B: M* cb2bc4e(B - (4 days ago)(B Fix test for Cell layout - Joe Wilm(B: Mm(B (origin/master, origin/bindings-v2, origin/HEAD, master, bindings-v2) (B: M* d97996e(B - (4 days ago)(B Make bindings configurable from alacritty.yml - Joe Wil(B: M|/ : Mrom alacritty.yml - Joe Wilm(B: M| * 5908bde(B - (2 days ago)(B index on master: d97996e Make bindings configurable f: M|/ / : M| |\ : Mrom alacritty.yml - Joe Wilm(B (refs/stash)(B: M| * d629f72(B - (2 days ago)(B WIP on master: d97996e Make bindings configurable f: M (HEAD -> ref-tests, origin/ref-tests)(B: M* bdd2181(B - (2 hours ago)(B Add support for recording/running ref tests - Joe Wilm(B: : : : : : : : : : : : :