taskwarrior/test
Paul Beckingham 7425c8f2ae Test: Removed useless tests
- The args.1.t script contained tests that weren't testing what they
  claimed to test, and are now removed.
2015-06-27 14:35:07 -04:00
..
basetest basetest: Documentation clarification 2015-06-12 20:20:28 +01:00
json Unit Tests 2011-05-22 14:41:40 -04:00
simpletap Simpletap: Handle "Unexpected success" cases 2015-06-22 17:32:46 +01:00
test_certs Certs 2015-01-19 18:25:21 -05:00
test_hooks Tests: expose 'args' passed to hook scripts 2015-04-06 13:43:41 +01:00
.gitignore Test: run_all is now in Python and defaults to parallelizing tests 2015-06-25 23:36:28 +01:00
abbreviation.t Tests: Remove unnecessary imports and simplify template.t 2015-06-06 02:52:33 +01:00
add.t Tests: common/reusable variables live in basetest.utils 2015-03-27 10:14:44 +00:00
alias.t Tests - Convert alias.t to python 2015-02-17 13:46:00 +00:00
annotate.t Tests - convert annotate.t to python 2015-02-18 14:05:53 +00:00
append.t Tests: bug.440 merged with append.t 2015-06-11 00:46:51 +01:00
args.1.t Test: Removed useless tests 2015-06-27 14:35:07 -04:00
args.t Tests - convert args.t to python 2015-02-18 19:32:58 +00:00
autocomplete.t.cpp C++11: N2672 Initializer lists 2015-05-24 13:03:02 -04:00
bash_completion.t Scripts: Disable hooks in bash completion script 2015-04-01 16:23:42 +02:00
bug.360.t Tests: Rename self.diag to self.tap and use self.t.diag where applicable 2015-06-10 23:33:56 +01:00
bug.425.t Tests: bug.425, bug_434 and wait now in python 2015-06-10 23:13:42 +01:00
bug.441.t Tests: bug.441.t now in python 2015-06-11 00:49:36 +01:00
bug.495.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.555.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.605.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.628.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.634.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.635.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.649.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.656.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.674.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.694.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.697.x Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.703.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.708.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.804.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.818.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.819.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.835.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.837.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.839.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.851.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.856.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.879.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.884.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.886.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.899.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.906.t TW-1584: attr.{isnt,not} use partial matching 2015-04-02 13:38:04 +02:00
bug.917.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.924.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.932.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.954.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.955.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.956.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.972.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.986.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.991.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.1006.t Tests - remove unused imports 2015-02-16 14:09:04 +00:00
bug.1031.t Tests - convert bug.1031.t to python 2015-03-04 00:54:40 +00:00
bug.1036.t Tests - convert bug.1036.t to python 2015-03-06 15:10:07 +00:00
bug.1063.t Tests - convert bug.1063.t to python 2015-03-11 15:32:54 +00:00
bug.1254.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.1267.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.annotate.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.annual.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.before.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.bulk.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.c001.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.cal.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.calc.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.hasnt.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.period.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.range.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.recur.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.sort.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.start.extra.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.summary.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bug.uuid.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
bulk.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
cal.t Unit Tests 2015-02-08 14:04:22 -05:00
calc.t Unit Tests 2015-03-01 21:19:16 -05:00
caseless.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
cli.t Tests: Remove unnecessary imports and simplify template.t 2015-06-06 02:52:33 +01:00
CMakeLists.txt Test: Removed obsolete 'run_all' processing 2015-06-25 23:39:42 -04:00
color.rules.t Tests: Remove unnecessary imports and simplify template.t 2015-06-06 02:52:33 +01:00
color.t.cpp Unit Tests 2015-03-07 12:14:39 -05:00
completed.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
completion.t Tests - rename bug.1043.t to completion.t and convert to python 2015-03-06 15:19:04 +00:00
config.obsolete.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
config.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
confirmation.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
context.t Tests: Strip unnecessary indexing in tests 2015-06-04 20:55:53 +01:00
conversion Tests: Remove bashism in conversion script 2015-05-27 19:02:01 +02:00
count.t Test; Converted to Python, removed unnecessary tests 2015-06-24 22:08:58 -04:00
countdown.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
custom.columns.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
custom.config.t Tests: Remove unnecessary imports and simplify template.t 2015-06-06 02:52:33 +01:00
custom.recur_ind.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
custom.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
custom.tag_ind.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
date.iso.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
date.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
dateformat.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
dates.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
datesort.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
datetime-negative.t ISO8601: Removed non-extended forms 2015-06-27 13:48:42 -04:00
default.command.t Tests: Remove unnecessary imports and simplify template.t 2015-06-06 02:52:33 +01:00
default.t Priority: Converted 'priority' attribute to a UDA 2015-04-04 19:30:33 -04:00
delete.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
denotate.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
dependencies.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
diag.t Tests: Rename self.diag to self.tap and use self.t.diag where applicable 2015-06-10 23:33:56 +01:00
diag_color.t Tests: Parallelize Python tests 2015-05-06 19:17:33 +02:00
dom.t Tests: Combined and converted DOM unit tests 2015-06-14 22:15:33 -04:00
due.t Tests: Fix due.t failure on cygwin 2015-06-11 01:40:36 +01:00
duplicate.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
duplicate2.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
duration.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
edit.t Tests: edit.t set VISUAL instead of EDITOR 2015-06-06 04:18:13 +01:00
encoding.t Tests: bug.455.t merged with encoding.t 2015-06-11 01:06:17 +01:00
enpassant.t Tests - merge args.[2-5].t with enpassant.t and convert to python 2015-02-19 13:38:27 +00:00
eval.t.cpp Merge branch '2.4.2' into lexer2 2015-02-22 15:26:22 -05:00
export.t Tests: Remove unnecessary imports and simplify template.t 2015-06-06 02:52:33 +01:00
export.yaml.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
feature.559.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
feature.608.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
feature.632.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
feature.725.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
feature.891.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
feature.1013.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
feature.1061.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
feature.default.project.t Tests - rename bug.1023.t to feature.default.project.t and convert to python 2015-03-03 01:25:45 +00:00
feature.print.empty.columns.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
feature.recurrence.t Tests: bug.368.t > feature.recurrence.t as python 2015-05-05 15:13:01 +01:00
filter-empty.t Unit Tests 2015-01-04 10:55:01 -05:00
filter-prefix.t Tests: Remove unnecessary imports and simplify template.t 2015-06-06 02:52:33 +01:00
filter.t Tests: bug.489 merged with filter.t 2015-06-24 20:12:49 +01:00
fontunderline.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
fs.t.cpp Cleanup: Combined File, Path and Directory into FS 2015-05-25 10:11:41 -04:00
gc.t Tests: Beautify gc.t, add one more GC test 2015-05-05 21:00:39 +02:00
history.annual.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
history.monthly.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
hooks.env.t Tests: expose 'args' passed to hook scripts 2015-04-06 13:43:41 +01:00
hooks.on-add.t Tests: Remove unnecessary imports and simplify template.t 2015-06-06 02:52:33 +01:00
hooks.on-exit.t Tests: Remove unnecessary imports and simplify template.t 2015-06-06 02:52:33 +01:00
hooks.on-launch.t Tests: Remove unnecessary imports and simplify template.t 2015-06-06 02:52:33 +01:00
hooks.on-modify.t Tests: Remove unnecessary imports and simplify template.t 2015-06-06 02:52:33 +01:00
hyphenate.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
i18n.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
ids.t Tests: convert ids.t to python 2015-06-09 21:31:59 +01:00
import.t Tests: Convert import.t to python 2015-06-06 00:05:51 +01:00
import.todo.sh.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
import.yaml.t TW-303: Make "task import" update existing tasks 2015-05-29 19:49:54 +02:00
import_NEW.t TW-303: Make "task import" update existing tasks 2015-05-29 19:49:54 +02:00
iso8601d.t.cpp ISO8601: Removed non-extended forms 2015-06-27 13:48:42 -04:00
iso8601p.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
json.t.cpp Build: Resolve some more compiler warnings 2015-03-29 18:03:36 -04:00
json_test.cpp Cleanup: Combined File, Path and Directory into FS 2015-05-25 10:11:41 -04:00
json_test.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
label.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
lexer.t.cpp Tests: Removed Lexer tests for unsupported ISO date formats 2015-06-27 14:20:16 -04:00
limit.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
list.all.projects.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
list.all.tags.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
list.t.cpp C++11: N2672 Initializer lists 2015-05-24 13:03:02 -04:00
log.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
math.t Tests: Commented tests are now active and marked as expected failures 2015-06-10 00:11:47 +01:00
msg.t.cpp Unit Tests 2015-03-07 11:35:48 -05:00
nag.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
next.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
nibbler.t.cpp C++11: N2672 Initializer lists 2015-05-24 13:03:02 -04:00
oldest.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
operators.t Tests: merge op_* to operators.t and convert to Python 2015-06-24 20:12:49 +01:00
overdue.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
override.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
partial.t Tests: Remove unnecessary imports and simplify template.t 2015-06-06 02:52:33 +01:00
prepend.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
pri_sort.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
problems Test: problems no longer includes "expected failures" in skipped 2015-06-25 22:34:43 +01:00
project.t Tests: Corrected test that assumes lines are longer than they are 2015-03-29 23:52:34 -04:00
rc.override.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
rc.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
README Test: run_all is now in Python and defaults to parallelizing tests 2015-06-25 23:36:28 +01:00
recur.disabled.t Tests: Add test case for disabled recurrence mechanism 2015-01-25 16:06:26 -05:00
recur.limit.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
recur.sort.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
recur.t Tests: Removed unused code 2015-04-05 13:21:20 -04:00
recur.until.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
recur.weekdays.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
roundtrip.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
run_all Test: run_all is now in Python and defaults to parallelizing tests 2015-06-25 23:36:28 +01:00
rx.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
sequence.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
shell.t Tests: Remove unnecessary imports and simplify template.t 2015-06-06 02:52:33 +01:00
sorting.t Tests: Merge bug.438 with sorting.t 2015-06-11 00:35:43 +01:00
special.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
start.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
start_NEW.t TW-1432: start/stop can be issued on completed tasks 2015-05-28 10:11:12 +02:00
subproject.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
substitute.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
t.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
t2.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
t3.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
tag.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
tdb2.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
template.t Tests: Rename self.diag to self.tap and use self.t.diag where applicable 2015-06-10 23:33:56 +01:00
test.cpp C++11: N1984 auto 2015-05-24 13:36:26 -04:00
test.h Updated copyright to 2015 2015-01-01 00:00:41 -05:00
text.t.cpp C++11: N2672 Initializer lists 2015-05-24 13:03:02 -04:00
timesheet.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
tw-21.t Unit Tests 2015-01-04 10:55:01 -05:00
tw-101.t Unit Tests 2015-01-04 10:55:01 -05:00
tw-252.t Unit Tests 2015-01-04 10:55:01 -05:00
tw-262.t Unit Tests 2015-01-04 10:55:01 -05:00
tw-268.t Unit Tests 2015-01-04 10:55:01 -05:00
tw-285.t Unit Tests 2015-01-04 10:55:01 -05:00
tw-295.t Tests: Remove unnecessary imports and simplify template.t 2015-06-06 02:52:33 +01:00
tw-1262.t Add test for TW-1262 (currently skipped) 2015-05-25 16:55:55 +01:00
tw-1300.t Unit Tests 2015-01-04 10:55:01 -05:00
tw-1306.t Unit Tests 2015-01-04 10:55:01 -05:00
tw-1359.t Unit Test 2015-03-05 21:29:38 -05:00
tw-1377.t Unit Tests 2015-01-04 10:55:01 -05:00
tw-1379.t Unit Tests 2015-01-04 10:55:01 -05:00
tw-1381.t Unit Tests 2015-01-04 10:55:01 -05:00
tw-1414.t Unit Tests 2015-01-04 10:55:01 -05:00
tw-1418.t Unit Tests 2015-01-04 10:55:01 -05:00
tw-1424.t Tests: Remove unnecessary imports and simplify template.t 2015-06-06 02:52:33 +01:00
tw-1430.t Tests: Remove unnecessary imports and simplify template.t 2015-06-06 02:52:33 +01:00
tw-1436.t Unit Tests 2015-01-04 10:55:01 -05:00
tw-1438.t Unit Tests 2015-01-04 10:55:01 -05:00
tw-1441.t Unit Tests 2015-01-04 10:55:01 -05:00
tw-1445.t Tests: Remove unnecessary imports and simplify template.t 2015-06-06 02:52:33 +01:00
tw-1447.t Tests: Remove unnecessary imports and simplify template.t 2015-06-06 02:52:33 +01:00
tw-1452.x Unit Tests 2015-02-14 19:10:57 -05:00
tw-1468.t Tests: Remove unnecessary imports and simplify template.t 2015-06-06 02:52:33 +01:00
tw-1469.t Tests: One more CYGWIN specific skipIf 2015-06-11 11:16:49 +01:00
tw-1481.x Tests: Remove unnecessary imports and simplify template.t 2015-06-06 02:52:33 +01:00
tw-1486.t Tests: Remove unnecessary imports and simplify template.t 2015-06-06 02:52:33 +01:00
tw-1510.t Tests: Add test for TW-1510 2015-02-14 17:10:22 -05:00
tw-1542.t Unit Tests 2015-02-15 11:45:31 -05:00
tw-1549.t TW-1549 2015-02-24 22:04:05 -05:00
uda.t Tests: Merge uda_<type>.t to uda.t and convert to Python 2015-06-06 02:57:07 +01:00
uda_orphan.t Tests: Relocated tests to eliminate a script 2015-06-24 13:31:38 -04:00
uda_report.t Tests: uda_report.t now in Python 2015-06-06 03:06:12 +01:00
uda_sort.t Tests: Refactor uda_sort.t to use assertTrue instead 2015-06-06 02:55:57 +01:00
undo.t Test: Removed unnecessary import 2015-06-24 21:48:48 -04:00
upgrade.t Tests: upgrade.t now in Python 2015-06-06 01:43:46 +01:00
urgency.t Tests: Converted priority urgency coefficients to UDAs 2015-04-05 14:58:07 -04:00
urgency_inherit.t TW-1572: Implement better urgency inheritance 2015-05-22 23:01:21 +02:00
utf8.t.cpp Unіt Tests 2015-03-07 11:59:37 -05:00
utf8_tw.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
util.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
uuid.t Updated copyright to 2015 2015-01-01 00:00:41 -05:00
variant_add.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
variant_and.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
variant_cast.t.cpp Build: More changes to address 32-bit builds 2015-04-18 10:26:37 +01:00
variant_divide.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
variant_equal.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
variant_exp.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
variant_gt.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
variant_gte.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
variant_inequal.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
variant_lt.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
variant_lte.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
variant_match.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
variant_math.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
variant_modulo.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
variant_multiply.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
variant_nomatch.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
variant_not.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
variant_or.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
variant_partial.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
variant_subtract.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
variant_xor.t.cpp Updated copyright to 2015 2015-01-01 00:00:41 -05:00
verbose.t Tests: verbose.t now in Python and with more tests 2015-06-06 01:43:46 +01:00
version.t Tests: Rename self.diag to self.tap and use self.t.diag where applicable 2015-06-10 23:33:56 +01:00
view.t.cpp Priority: Converted 'priority' attribute to a UDA 2015-04-04 19:30:33 -04:00
wait.t Tests: bug.425, bug_434 and wait now in python 2015-06-10 23:13:42 +01:00

README
======

This is the task.git/test/README file, and contains notes about the Taskwarrior
test suite.


Running Tests
-------------

TL;DR  cd test && make && ./run_all && ./problems

All unit tests produce TAP (Test Anything Protocol) output, and are run by the
'run_all' test harness.

The 'run_all' script produces an 'all.log' file which is the accumulated output
of all tests. Before executing 'run_all' you need to compile the C++ unit
tests, by running 'make' on the 'test' directory.

The script 'problems' will list all the tests that fail, with a count of the
failing tests.

Any TAP harness may be used.

Note that adding the '--serial' option to ./run_all, all tests are executed serially.
The default runs Python and C++ tests in parallel, alongside the Perl tests
that run serially (due to isolation limitations).
Using '--serial' will make for a slower test run.


Architecture
------------

There are three varieties of tests:

  * Perl unit tests that use Test::More and the JSON module. We are phasing
    these out, and will accept no new Perl tests. These tests are high level
    and exercise Taskwarrior at the command line level.

  * C++ unit tests that test low-level object interfaces. These are typically
    very fast tests, and are exhaustive in nature.

  * Python unit tests that are at the highest level, exercising the command
    line, hooks and syncing. There is an example, 'template.t', that shows how
    to perform various high level tests.

All tests are named with the pattern '*.t', and any other forms are not run by
the test harness. Additionally a test must be set executable (chmod +x) for it
to be run. In the case of Perl and Python tests one can still run them manually
by launching them with 'perl/python test.t'. It also allows us to keep tests
submitted for bugs that are not scheduled to be fixed in the upcoming release,
and we don't want the failing tests to prevent us from seeing 100% pass rate
for the bugs we *have* fixed.


Goals
-----

The test suite is evolving, and becoming a better tool for determining whether
code is ready for release. There are goals that shape these changes, and they
are:

  * Migrate test suite to Python and C++, eliminating all Perl.  The Python
    test suite is more expressive and high level. Migrating reduces
    dependencies.

  * Increase test coverage by testing more features, more thoroughly.

  * Write fewer bug regression tests. Over time, bug regression tests are less
    useful than feature tests, and more likely to contain overlapping coverage.

  * The Python test suite provides test isolation, such that each test is run
    in a separate directory. This allows parallelization, which will improve
    as the Perl tests are eliminated.

  * Eliminate obsolete tests, which are tests that have overlapping coverage.
    This means migrate bug-specific tests to feature tests.

  * Categorize the tests, restructure the directories.


What Makes a Good Test
----------------------

A good test ensures that a feature is functioning as expected, and contains
both positive and negative aspects, or in other words looks for expected
behavior as well as looking for the absence of unexpected behavior.


Conventions for writing a test
------------------------------

If you wish to contribute tests, please consider the following guidelines:

  * Tests created after bugs or feature requests should (ideally) have an entry
    on https://bug.tasktools.org/ and should include the issue ID in a
    docstring or comment.

  * Tests should be added to the file that best matches the "thing" being
    tested. For instance, a test on filters should live in filter.t

  * Class and method names should be descriptive of what they are testing.
    Example: TestFilterOnReports

  * Docstrings on Python tests are mandatory. The first line is used as title
    of the test.

  * Extra information and details should go into multi-line docstrings or
    comments.

  * Python tests for bugs or features not yet fixed/implemented should be
    decorated with: @unittest.skip("WaitingFor TW-xxxx")


How to Submit a Test Change/Addition
------------------------------------

Mail it to support@taskwarrior.org, or attach it to an open bug.


TODO
----

For anyone looking for test-related tasks to take on, here are some suggestions:

  * Take tw-285.t and improve it to test more (if not all) virtual tags, then
    rename it virtual-tags.t.

  * Select a bug.*.t Perl test and convert it to Python using the template.

  * Look at the latest todo.txt file format spec, and make sure that
    import.todo.sh.t is testing the current format.

  * Select a feature.*.t Perl test, convert it to Python using the template,
    then rename it to <feature>.t

  * Find and eliminate individuals test that do the same thing.


---