exa/xtests
Benjamin Sago 2d1f462bfa Switch to the new options parser
This commit removes the dependency on the ‘getopts’ crate entirely, and re-writes all its uses to use the new options parser instead.

As expected there are casualties galore:

- We now need to collect the options into a vector at the start, so we can use references to them, knowing they’ll be stored *somewhere*.
- Because OsString isn’t Display, its Debug impl gets used instead. (This is hopefully temporary)
- Options that take values (such as ‘sort’ or ‘time-style’) now parse those values with ‘to_string_lossy’. The ‘lossy’ part means “I’m at a loss for what to do here”
- Error messages got a lot worse, but “--tree --all --all” is now a special case of error rather than just another Misfire::Useless.
- Some tests had to be re-written to deal with the fact that the parser works with references.
- ParseError loses its lifetime and owns its contents, to avoid having to attach <'a> to Misfire.
- The parser now takes an iterator instead of a slice.
- OsStrings can’t be ‘match’ patterns, so the code devolves to using long Eq chains instead.
- Make a change to the xtest that assumed an input argument with invalid UTF-8 in was always an error to stderr, when that now in fact works!
- Fix a bug in Vagrant where ‘exa’ and ‘rexa’ didn’t properly escape filenames with spaces in.
2017-07-26 17:48:18 +01:00
..
attributes Fix tree permissions bug 2017-07-04 17:48:30 +01:00
dates_accessed Fix bug where accessed times were wrong! 2017-07-05 22:07:03 +01:00
dates_full_iso Add full-iso time style 2017-07-06 00:21:38 +01:00
dates_iso Add iso time style 2017-07-06 00:39:54 +01:00
dates_long_iso Add long-iso style and --time-style option 2017-07-06 00:01:45 +01:00
dates_modified Fix bug where accessed times were wrong! 2017-07-05 22:07:03 +01:00
dir_paths Tests for the directory path fix 2017-04-29 10:56:17 +01:00
dirs Further tests for printing out directory names 2017-04-29 11:52:44 +01:00
empty Only engage the view when there are files to show 2016-10-29 19:07:43 +01:00
file_names Test change emoji width 2017-05-17 23:12:27 +01:00
file_names_1 Also escape characters in links and headings 2017-05-01 21:54:53 +01:00
file_names_R Test change emoji width 2017-05-17 23:12:27 +01:00
file_names_T Also escape characters in broken symlinks 2017-05-02 08:46:43 +01:00
file_names_x Test change emoji width 2017-05-17 23:12:27 +01:00
file-names-exts Upcase some of the extension testcases 2017-06-29 13:57:31 +01:00
file-names-exts-case Add sort tests for name and ext and lowercase 2017-06-29 14:03:17 +01:00
file-names-exts-ext Add sort tests for name and ext and lowercase 2017-06-29 14:03:17 +01:00
file-names-exts-ext-case Add sort tests for name and ext and lowercase 2017-06-29 14:03:17 +01:00
files Replace the testcases script with a Vagrant VM 2016-10-07 19:31:03 +01:00
files_40 Replace the testcases script with a Vagrant VM 2016-10-07 19:31:03 +01:00
files_80 Replace the testcases script with a Vagrant VM 2016-10-07 19:31:03 +01:00
files_120 Replace the testcases script with a Vagrant VM 2016-10-07 19:31:03 +01:00
files_160 Replace the testcases script with a Vagrant VM 2016-10-07 19:31:03 +01:00
files_200 Replace the testcases script with a Vagrant VM 2016-10-07 19:31:03 +01:00
files_l Protect xtests against different default users 2017-04-28 19:34:23 +01:00
files_l_bw Tests for disabling colours 2017-06-25 11:53:59 +01:00
files_l_scale Add xtest for colour scale 2017-05-16 20:53:28 +01:00
files_lG_40 Protect xtests against different default users 2017-04-28 19:34:23 +01:00
files_lG_80 Protect xtests against different default users 2017-04-28 19:34:23 +01:00
files_lG_120 Protect xtests against different default users 2017-04-28 19:34:23 +01:00
files_lG_160 Protect xtests against different default users 2017-04-28 19:34:23 +01:00
files_lG_200 Protect xtests against different default users 2017-04-28 19:34:23 +01:00
files_lh Protect xtests against different default users 2017-04-28 19:34:23 +01:00
files_lhb Protect xtests against different default users 2017-04-28 19:34:23 +01:00
files_lhb2 Protect xtests against different default users 2017-04-28 19:34:23 +01:00
files_star_100 Fix bug where paths took up twice as much space 2017-05-02 17:40:32 +01:00
files_star_150 Fix bug where paths took up twice as much space 2017-05-02 17:40:32 +01:00
files_star_200 Fix bug where paths took up twice as much space 2017-05-02 17:40:32 +01:00
files_star_lG_100 Fix bug where paths took up twice as much space 2017-05-02 17:40:32 +01:00
files_star_lG_150 Fix bug where paths took up twice as much space 2017-05-02 17:40:32 +01:00
files_star_lG_200 Fix bug where paths took up twice as much space 2017-05-02 17:40:32 +01:00
git_additions Add xtests for existing Git implementation 2017-05-17 20:35:05 +01:00
git_edits Add xtests for existing Git implementation 2017-05-17 20:35:05 +01:00
help Document --time-style, and completions 2017-07-06 00:52:27 +01:00
help_long Document --time-style, and completions 2017-07-06 00:52:27 +01:00
hiddens Override the names of . and .. 2017-06-28 18:41:31 +01:00
hiddens_a Override the names of . and .. 2017-06-28 18:41:31 +01:00
hiddens_aa Override the names of . and .. 2017-06-28 18:41:31 +01:00
hiddens_l Override the names of . and .. 2017-06-28 18:41:31 +01:00
hiddens_la Override the names of . and .. 2017-06-28 18:41:31 +01:00
hiddens_laa Override the names of . and .. 2017-06-28 18:41:31 +01:00
ignores_ogg Rename file-types tests to file-names-exts 2017-04-28 20:07:31 +01:00
links Give broken links a different style in grid view 2017-05-07 14:45:04 +01:00
links_1 Add tests for relative symlinks 2017-04-30 11:58:29 +01:00
links_1_files Re-prefix the paths found by following symlinks 2017-05-15 22:38:23 +01:00
links_T Add tests for relative symlinks 2017-04-30 11:58:29 +01:00
passwd Protect xtests against different default users 2017-04-28 19:34:23 +01:00
permissions xtests for higher order bits 2017-05-30 15:32:11 +01:00
permissions_sudo xtests for higher order bits 2017-05-30 15:32:11 +01:00
proc_1_root Fix integration test by making it time-independent 2016-10-30 14:27:20 +00:00
README.md Replace the testcases script with a Vagrant VM 2016-10-07 19:31:03 +01:00
run.sh Switch to the new options parser 2017-07-26 17:48:18 +01:00
sort-by-type Add sorting by type 2017-06-29 14:52:02 +01:00
specials Display device IDs when listing devices 2017-05-19 09:20:47 +01:00
specials_F Display device IDs when listing devices 2017-05-19 09:20:47 +01:00
specials_sort Add sorting by type 2017-06-29 14:52:02 +01:00

Extra tests

These extra tests are intended to be run from a Vagrant VM that has already had its environment set up -- see the section in the README for more details.