diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 853abd814..7f7d9d6db 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -19,37 +19,37 @@ include_directories (${CMAKE_SOURCE_DIR} ${TASK_INCLUDE_DIRS}) set (test_SRCS - col.t - dom.t - eval.t - lexer.t - t.t - tw-2689.t - tdb2.t - tc.t - util.t - variant_add.t - variant_and.t - variant_cast.t - variant_divide.t - variant_equal.t - variant_exp.t - variant_gt.t - variant_gte.t - variant_inequal.t - variant_lt.t - variant_lte.t - variant_match.t - variant_math.t - variant_modulo.t - variant_multiply.t - variant_nomatch.t - variant_not.t - variant_or.t - variant_partial.t - variant_subtract.t - variant_xor.t - view.t + col.test.cpp + dom.test.cpp + eval.test.cpp + lexer.test.cpp + t.test.cpp + tw-2689.test.cpp + tdb2.test.cpp + tc.test.cpp + util.test.cpp + variant_add.test.cpp + variant_and.test.cpp + variant_cast.test.cpp + variant_divide.test.cpp + variant_equal.test.cpp + variant_exp.test.cpp + variant_gt.test.cpp + variant_gte.test.cpp + variant_inequal.test.cpp + variant_lt.test.cpp + variant_lte.test.cpp + variant_match.test.cpp + variant_math.test.cpp + variant_modulo.test.cpp + variant_multiply.test.cpp + variant_nomatch.test.cpp + variant_not.test.cpp + variant_or.test.cpp + variant_partial.test.cpp + variant_subtract.test.cpp + variant_xor.test.cpp + view.test.cpp ) add_custom_target (test ./run_all --verbose @@ -60,7 +60,7 @@ add_custom_target (build_tests DEPENDS ${test_SRCS} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/test) foreach (src_FILE ${test_SRCS}) - add_executable (${src_FILE} "${src_FILE}.cpp" test.cpp) + add_executable (${src_FILE} ${src_FILE} test.cpp) target_link_libraries (${src_FILE} task tc commands columns libshared task tc commands columns libshared task commands columns libshared ${TASK_LIBRARIES}) if (DARWIN) target_link_libraries (${src_FILE} "-framework CoreFoundation -framework Security -framework SystemConfiguration") @@ -74,125 +74,126 @@ configure_file(bash_tap_tw.sh bash_tap_tw.sh COPYONLY) add_subdirectory(basetest) add_subdirectory(simpletap) + set (pythonTests - abbreviation.t - add.t - alias.t - annotate.t - append.t - args.t - bash_completion.t - blocked.t - bulk.t - burndown.t - calc.t - calendar.t - caseless.t - color.cmd.t - color.rules.t - columns.t - commands.t - completed.t - configuration.t - confirmation.t - context.t - count.t - custom.config.t - custom.recur_ind.t - custom.t - custom.tag_ind.t - date.iso.t - dateformat.t - datesort.t - datetime-negative.t - debug.t - default.t - delete.t - denotate.t - dependencies.t - diag.t - diag_color.t - dom2.t - due.t - duplicate.t - edit.t - encoding.t - enpassant.t - exec.t - export.t - feature.559.t - feature.default.project.t - feature.print.empty.columns.t - feature.recurrence.t - feedback.t - filter.t - fontunderline.t - format.t - gc.t - helpers.t - history.t - hooks.env.t - hooks.on-add.t - hooks.on-launch.t - hooks.on-modify.t - hyphenate.t - ids.t - import.t - info.t - limit.t - list.all.projects.t - log.t - logo.t - math.t - modify.t - nag.t - obfuscate.t - oldest.t - operators.t - overdue.t - partial.t - prepend.t - pri_sort.t - project.t - quotes.t - rc.override.t - recurrence.t - reports.t - search.t - sequence.t - shell.t - show.t - sorting.t - special.t - start.t - stats.t - substitute.t - sugar.t - summary.t - tag.t - taskrc.t - timesheet.t - tw-1379.t - tw-1837.t - tw-20.t - tw-2575.t - tw-262.t - tw-295.t - uda.t - uda_orphan.t - uda_report.t - uda_sort.t - undo.t - unicode.t - unique.t - upgrade.t - urgency.t - urgency_inherit.t - uuid.t - verbose.t - version.t - wait.t - hooks.on-exit.t + abbreviation.test.py + add.test.py + alias.test.py + annotate.test.py + append.test.py + args.test.py + bash_completion.test.py + blocked.test.py + bulk.test.py + burndown.test.py + calc.test.py + calendar.test.py + caseless.test.py + color.cmd.test.py + color.rules.test.py + columns.test.py + commands.test.py + completed.test.py + configuration.test.py + confirmation.test.py + context.test.py + count.test.py + custom.config.test.py + custom.recur_ind.test.py + custom.test.py + custom.tag_ind.test.py + date.iso.test.py + dateformat.test.py + datesort.test.py + datetime-negative.test.py + debug.test.py + default.test.py + delete.test.py + denotate.test.py + dependencies.test.py + diag.test.py + diag_color.test.py + dom2.test.py + due.test.py + duplicate.test.py + edit.test.py + encoding.test.py + enpassant.test.py + exec.test.py + export.test.py + feature.559.test.py + feature.default.project.test.py + feature.print.empty.columns.test.py + feature.recurrence.test.py + feedback.test.py + filter.test.py + fontunderline.test.py + format.test.py + gc.test.py + helpers.test.py + history.test.py + hooks.env.test.py + hooks.on-add.test.py + hooks.on-launch.test.py + hooks.on-modify.test.py + hyphenate.test.py + ids.test.py + import.test.py + info.test.py + limit.test.py + list.all.projects.test.py + log.test.py + logo.test.py + math.test.py + modify.test.py + nag.test.py + obfuscate.test.py + oldest.test.py + operators.test.py + overdue.test.py + partial.test.py + prepend.test.py + pri_sort.test.py + project.test.py + quotes.test.py + rc.override.test.py + recurrence.test.py + reports.test.py + search.test.py + sequence.test.py + shell.test.py + show.test.py + sorting.test.py + special.test.py + start.test.py + stats.test.py + substitute.test.py + sugar.test.py + summary.test.py + tag.test.py + taskrc.test.py + timesheet.test.py + tw-1379.test.py + tw-1837.test.py + tw-20.test.py + tw-2575.test.py + tw-262.test.py + tw-295.test.py + uda.test.py + uda_orphan.test.py + uda_report.test.py + uda_sort.test.py + undo.test.py + unicode.test.py + unique.test.py + upgrade.test.py + urgency.test.py + urgency_inherit.test.py + uuid.test.py + verbose.test.py + version.test.py + wait.test.py + hooks.on-exit.test.py ) foreach (python_Test ${pythonTests}) @@ -202,4 +203,4 @@ endforeach(python_Test) #SET(CMAKE_BUILD_TYPE gcov) #SET(CMAKE_CXX_FLAGS_GCOV "--coverage") #SET(CMAKE_C_FLAGS_GCOV "--coverage") -#SET(CMAKE_EXE_LINKER_FLAGS_GCOV "--coverage") +#SET(CMAKE_EXE_LINKER_FLAGS_GCOV "--coverage") \ No newline at end of file diff --git a/test/README b/test/README index c6334c8ee..30ba98b8c 100644 --- a/test/README +++ b/test/README @@ -38,19 +38,20 @@ There are three varieties of tests: 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. + line, hooks and syncing. There is an example, 'template.test.py', that + shows how to perform various high level tests. * Bash unit tests, one test per file, using the bash_tap_tw.sh script. These tests are small, quick tests, not intended to be permanent. -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 Python tests one can still run them manually by -launching them with 'python test.t' or simply './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. +All tests are named with the pattern '*.test.py', '*.test.sh', or '*.test.cpp', +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 Python tests one +can still run them manually by launching them with 'python testname.test.py' or +simply './testname.test.py'. 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 diff --git a/test/abbreviation.t b/test/abbreviation.test.py similarity index 100% rename from test/abbreviation.t rename to test/abbreviation.test.py diff --git a/test/add.t b/test/add.test.py similarity index 100% rename from test/add.t rename to test/add.test.py diff --git a/test/alias.t b/test/alias.test.py similarity index 100% rename from test/alias.t rename to test/alias.test.py diff --git a/test/annotate.t b/test/annotate.test.py similarity index 100% rename from test/annotate.t rename to test/annotate.test.py diff --git a/test/append.t b/test/append.test.py similarity index 100% rename from test/append.t rename to test/append.test.py diff --git a/test/args.t b/test/args.test.py similarity index 100% rename from test/args.t rename to test/args.test.py diff --git a/test/bash_completion.t b/test/bash_completion.test.py similarity index 100% rename from test/bash_completion.t rename to test/bash_completion.test.py diff --git a/test/blocked.t b/test/blocked.test.py similarity index 100% rename from test/blocked.t rename to test/blocked.test.py diff --git a/test/bulk.t b/test/bulk.test.py similarity index 100% rename from test/bulk.t rename to test/bulk.test.py diff --git a/test/burndown.t b/test/burndown.test.py similarity index 100% rename from test/burndown.t rename to test/burndown.test.py diff --git a/test/calc.t b/test/calc.test.py similarity index 100% rename from test/calc.t rename to test/calc.test.py diff --git a/test/calendar.t b/test/calendar.test.py similarity index 100% rename from test/calendar.t rename to test/calendar.test.py diff --git a/test/caseless.t b/test/caseless.test.py similarity index 100% rename from test/caseless.t rename to test/caseless.test.py diff --git a/test/col.t.cpp b/test/col.test.cpp similarity index 100% rename from test/col.t.cpp rename to test/col.test.cpp diff --git a/test/color.cmd.t b/test/color.cmd.test.py similarity index 100% rename from test/color.cmd.t rename to test/color.cmd.test.py diff --git a/test/color.rules.t b/test/color.rules.test.py similarity index 100% rename from test/color.rules.t rename to test/color.rules.test.py diff --git a/test/columns.t b/test/columns.test.py similarity index 100% rename from test/columns.t rename to test/columns.test.py diff --git a/test/commands.t b/test/commands.test.py similarity index 100% rename from test/commands.t rename to test/commands.test.py diff --git a/test/completed.t b/test/completed.test.py similarity index 100% rename from test/completed.t rename to test/completed.test.py diff --git a/test/configuration.t b/test/configuration.test.py similarity index 100% rename from test/configuration.t rename to test/configuration.test.py diff --git a/test/confirmation.t b/test/confirmation.test.py similarity index 100% rename from test/confirmation.t rename to test/confirmation.test.py diff --git a/test/context.t b/test/context.test.py similarity index 100% rename from test/context.t rename to test/context.test.py diff --git a/test/conversion b/test/conversion index 687c848ce..7b271134b 100755 --- a/test/conversion +++ b/test/conversion @@ -1,10 +1,10 @@ #!/bin/sh -printf "C++: %5d\n" $(ls *.t.cpp | wc -l) -printf "Python: %5d\n" $(head -n1 *.t | grep -a '\bpython' | wc -l) -printf "Bash: %5d\n" $(head -n1 *.t | grep -a '\bbash' | wc -l) +printf "C++: %5d\n" $(ls *.test.cpp | wc -l) +printf "Python: %5d\n" $(head -n1 *.test.py | grep -a '\bpython' | wc -l) +printf "Bash: %5d\n" $(head -n1 *.test.sh | grep -a '\bbash' | wc -l) echo -printf "Feature %5d\n" $(ls feature.*.t | wc -l) -printf "Bug %5d\n" $(ls tw-*.t | wc -l) +printf "Feature %5d\n" $(ls feature.*.test.py | wc -l) +printf "Bug %5d\n" $(ls tw-*.test.sh | wc -l) echo -printf "Total: %5d\n" $(ls *.t | wc -l) +printf "Total: %5d\n" $(ls *.test.* | wc -l) diff --git a/test/count.t b/test/count.test.py similarity index 100% rename from test/count.t rename to test/count.test.py diff --git a/test/custom.config.t b/test/custom.config.test.py similarity index 100% rename from test/custom.config.t rename to test/custom.config.test.py diff --git a/test/custom.recur_ind.t b/test/custom.recur_ind.test.py similarity index 100% rename from test/custom.recur_ind.t rename to test/custom.recur_ind.test.py diff --git a/test/custom.tag_ind.t b/test/custom.tag_ind.test.py similarity index 100% rename from test/custom.tag_ind.t rename to test/custom.tag_ind.test.py diff --git a/test/custom.t b/test/custom.test.py similarity index 100% rename from test/custom.t rename to test/custom.test.py diff --git a/test/date.iso.t b/test/date.iso.test.py similarity index 100% rename from test/date.iso.t rename to test/date.iso.test.py diff --git a/test/dateformat.t b/test/dateformat.test.py similarity index 100% rename from test/dateformat.t rename to test/dateformat.test.py diff --git a/test/datesort.t b/test/datesort.test.py similarity index 100% rename from test/datesort.t rename to test/datesort.test.py diff --git a/test/datetime-negative.t b/test/datetime-negative.test.py similarity index 100% rename from test/datetime-negative.t rename to test/datetime-negative.test.py diff --git a/test/debug.t b/test/debug.test.py similarity index 100% rename from test/debug.t rename to test/debug.test.py diff --git a/test/default.t b/test/default.test.py similarity index 100% rename from test/default.t rename to test/default.test.py diff --git a/test/delete.t b/test/delete.test.py similarity index 100% rename from test/delete.t rename to test/delete.test.py diff --git a/test/denotate.t b/test/denotate.test.py similarity index 100% rename from test/denotate.t rename to test/denotate.test.py diff --git a/test/dependencies.t b/test/dependencies.test.py similarity index 100% rename from test/dependencies.t rename to test/dependencies.test.py diff --git a/test/diag.t b/test/diag.test.py similarity index 100% rename from test/diag.t rename to test/diag.test.py diff --git a/test/diag_color.t b/test/diag_color.test.py similarity index 100% rename from test/diag_color.t rename to test/diag_color.test.py diff --git a/test/dom.t.cpp b/test/dom.test.cpp similarity index 100% rename from test/dom.t.cpp rename to test/dom.test.cpp diff --git a/test/dom2.t b/test/dom2.test.py similarity index 100% rename from test/dom2.t rename to test/dom2.test.py diff --git a/test/due.t b/test/due.test.py similarity index 100% rename from test/due.t rename to test/due.test.py diff --git a/test/duplicate.t b/test/duplicate.test.py similarity index 100% rename from test/duplicate.t rename to test/duplicate.test.py diff --git a/test/edit.t b/test/edit.test.py similarity index 100% rename from test/edit.t rename to test/edit.test.py diff --git a/test/encoding.t b/test/encoding.test.py similarity index 100% rename from test/encoding.t rename to test/encoding.test.py diff --git a/test/enpassant.t b/test/enpassant.test.py similarity index 100% rename from test/enpassant.t rename to test/enpassant.test.py diff --git a/test/eval.t.cpp b/test/eval.test.cpp similarity index 100% rename from test/eval.t.cpp rename to test/eval.test.cpp diff --git a/test/exec.t b/test/exec.test.py similarity index 100% rename from test/exec.t rename to test/exec.test.py diff --git a/test/export.t b/test/export.test.py similarity index 100% rename from test/export.t rename to test/export.test.py diff --git a/test/feature.559.t b/test/feature.559.test.py similarity index 100% rename from test/feature.559.t rename to test/feature.559.test.py diff --git a/test/feature.default.project.t b/test/feature.default.project.test.py similarity index 100% rename from test/feature.default.project.t rename to test/feature.default.project.test.py diff --git a/test/feature.print.empty.columns.t b/test/feature.print.empty.columns.test.py similarity index 100% rename from test/feature.print.empty.columns.t rename to test/feature.print.empty.columns.test.py diff --git a/test/feature.recurrence.t b/test/feature.recurrence.test.py similarity index 100% rename from test/feature.recurrence.t rename to test/feature.recurrence.test.py diff --git a/test/feedback.t b/test/feedback.test.py similarity index 100% rename from test/feedback.t rename to test/feedback.test.py diff --git a/test/filter.t b/test/filter.test.py similarity index 100% rename from test/filter.t rename to test/filter.test.py diff --git a/test/fontunderline.t b/test/fontunderline.test.py similarity index 100% rename from test/fontunderline.t rename to test/fontunderline.test.py diff --git a/test/format.t b/test/format.test.py similarity index 100% rename from test/format.t rename to test/format.test.py diff --git a/test/gc.t b/test/gc.test.py similarity index 100% rename from test/gc.t rename to test/gc.test.py diff --git a/test/helpers.t b/test/helpers.test.py similarity index 100% rename from test/helpers.t rename to test/helpers.test.py diff --git a/test/history.t b/test/history.test.py similarity index 100% rename from test/history.t rename to test/history.test.py diff --git a/test/hooks.env.t b/test/hooks.env.test.py similarity index 100% rename from test/hooks.env.t rename to test/hooks.env.test.py diff --git a/test/hooks.on-add.t b/test/hooks.on-add.test.py similarity index 100% rename from test/hooks.on-add.t rename to test/hooks.on-add.test.py diff --git a/test/hooks.on-exit.t b/test/hooks.on-exit.test.py similarity index 100% rename from test/hooks.on-exit.t rename to test/hooks.on-exit.test.py diff --git a/test/hooks.on-launch.t b/test/hooks.on-launch.test.py similarity index 100% rename from test/hooks.on-launch.t rename to test/hooks.on-launch.test.py diff --git a/test/hooks.on-modify.t b/test/hooks.on-modify.test.py similarity index 100% rename from test/hooks.on-modify.t rename to test/hooks.on-modify.test.py diff --git a/test/hyphenate.t b/test/hyphenate.test.py similarity index 100% rename from test/hyphenate.t rename to test/hyphenate.test.py diff --git a/test/ids.t b/test/ids.test.py similarity index 100% rename from test/ids.t rename to test/ids.test.py diff --git a/test/import.t b/test/import.test.py similarity index 100% rename from test/import.t rename to test/import.test.py diff --git a/test/info.t b/test/info.test.py similarity index 100% rename from test/info.t rename to test/info.test.py diff --git a/test/lexer.t.cpp b/test/lexer.test.cpp similarity index 100% rename from test/lexer.t.cpp rename to test/lexer.test.cpp diff --git a/test/limit.t b/test/limit.test.py similarity index 100% rename from test/limit.t rename to test/limit.test.py diff --git a/test/list.all.projects.t b/test/list.all.projects.test.py similarity index 100% rename from test/list.all.projects.t rename to test/list.all.projects.test.py diff --git a/test/log.t b/test/log.test.py similarity index 100% rename from test/log.t rename to test/log.test.py diff --git a/test/logo.t b/test/logo.test.py similarity index 100% rename from test/logo.t rename to test/logo.test.py diff --git a/test/math.t b/test/math.test.py similarity index 100% rename from test/math.t rename to test/math.test.py diff --git a/test/modify.t b/test/modify.test.py similarity index 100% rename from test/modify.t rename to test/modify.test.py diff --git a/test/nag.t b/test/nag.test.py similarity index 100% rename from test/nag.t rename to test/nag.test.py diff --git a/test/obfuscate.t b/test/obfuscate.test.py similarity index 100% rename from test/obfuscate.t rename to test/obfuscate.test.py diff --git a/test/oldest.t b/test/oldest.test.py similarity index 100% rename from test/oldest.t rename to test/oldest.test.py diff --git a/test/operators.t b/test/operators.test.py similarity index 100% rename from test/operators.t rename to test/operators.test.py diff --git a/test/overdue.t b/test/overdue.test.py similarity index 100% rename from test/overdue.t rename to test/overdue.test.py diff --git a/test/partial.t b/test/partial.test.py similarity index 100% rename from test/partial.t rename to test/partial.test.py diff --git a/test/prepend.t b/test/prepend.test.py similarity index 100% rename from test/prepend.t rename to test/prepend.test.py diff --git a/test/pri_sort.t b/test/pri_sort.test.py similarity index 100% rename from test/pri_sort.t rename to test/pri_sort.test.py diff --git a/test/problems b/test/problems index da3c2606f..7f53a8661 100755 --- a/test/problems +++ b/test/problems @@ -52,7 +52,7 @@ if __name__ == "__main__": unexpected = defaultdict(int) passed = defaultdict(int) - file = re.compile(r"^# (?:./)?(\S+\.t)(?:\.exe)?$") + file = re.compile(r"^# (?:./)?(\S+\.test)(?:\.py|\.cpp)?$") timestamp = re.compile(r"^# (\d+(?:\.\d+)?) ==>.*$") expected_fail = re.compile(r"^not ok.*?#\s*TODO", re.I) diff --git a/test/project.t b/test/project.test.py similarity index 100% rename from test/project.t rename to test/project.test.py diff --git a/test/quotes.t b/test/quotes.test.py similarity index 100% rename from test/quotes.t rename to test/quotes.test.py diff --git a/test/rc.override.t b/test/rc.override.test.py similarity index 100% rename from test/rc.override.t rename to test/rc.override.test.py diff --git a/test/recurrence.t b/test/recurrence.test.py similarity index 100% rename from test/recurrence.t rename to test/recurrence.test.py diff --git a/test/reports.t b/test/reports.test.py similarity index 100% rename from test/reports.t rename to test/reports.test.py diff --git a/test/run_all b/test/run_all index e27e3c571..f20f092d1 100755 --- a/test/run_all +++ b/test/run_all @@ -70,7 +70,7 @@ class TestRunner(object): self._outputq = Queue() def _find_tests(self): - for test in glob.glob("*.t"): + for test in glob.glob("*.test.sh") + glob.glob("*.test.py") + glob.glob("*.test.cpp"): if os.access(test, os.X_OK): # Executables only if self._is_parallelizable(test): diff --git a/test/search.t b/test/search.test.py similarity index 100% rename from test/search.t rename to test/search.test.py diff --git a/test/sequence.t b/test/sequence.test.py similarity index 100% rename from test/sequence.t rename to test/sequence.test.py diff --git a/test/shell.t b/test/shell.test.py similarity index 100% rename from test/shell.t rename to test/shell.test.py diff --git a/test/show.t b/test/show.test.py similarity index 100% rename from test/show.t rename to test/show.test.py diff --git a/test/sorting.t b/test/sorting.test.py similarity index 100% rename from test/sorting.t rename to test/sorting.test.py diff --git a/test/special.t b/test/special.test.py similarity index 100% rename from test/special.t rename to test/special.test.py diff --git a/test/start.t b/test/start.test.py similarity index 100% rename from test/start.t rename to test/start.test.py diff --git a/test/stats.t b/test/stats.test.py similarity index 100% rename from test/stats.t rename to test/stats.test.py diff --git a/test/stress_test b/test/stress_test index 73975127f..3073324fa 100755 --- a/test/stress_test +++ b/test/stress_test @@ -13,7 +13,7 @@ import sys def find_tests(): tests = [] - for test in glob.glob("*.t") + glob.glob("*.t.exe"): + for test in glob.glob("*.test.sh") + glob.glob("*.test.py"): if os.access(test, os.X_OK): # Executables only tests.append(test) diff --git a/test/substitute.t b/test/substitute.test.py similarity index 100% rename from test/substitute.t rename to test/substitute.test.py diff --git a/test/sugar.t b/test/sugar.test.py similarity index 100% rename from test/sugar.t rename to test/sugar.test.py diff --git a/test/summary.t b/test/summary.test.py similarity index 100% rename from test/summary.t rename to test/summary.test.py diff --git a/test/t.t.cpp b/test/t.test.cpp similarity index 100% rename from test/t.t.cpp rename to test/t.test.cpp diff --git a/test/tag.t b/test/tag.test.py similarity index 100% rename from test/tag.t rename to test/tag.test.py diff --git a/test/taskrc.t b/test/taskrc.test.py similarity index 100% rename from test/taskrc.t rename to test/taskrc.test.py diff --git a/test/tc.t.cpp b/test/tc.test.cpp similarity index 100% rename from test/tc.t.cpp rename to test/tc.test.cpp diff --git a/test/tdb2.t.cpp b/test/tdb2.test.cpp similarity index 100% rename from test/tdb2.t.cpp rename to test/tdb2.test.cpp diff --git a/test/template.t b/test/template.test.py similarity index 100% rename from test/template.t rename to test/template.test.py diff --git a/test/timesheet.t b/test/timesheet.test.py similarity index 100% rename from test/timesheet.t rename to test/timesheet.test.py diff --git a/test/tw-1379.t b/test/tw-1379.test.py similarity index 100% rename from test/tw-1379.t rename to test/tw-1379.test.py diff --git a/test/tw-1637.t b/test/tw-1637.test.sh similarity index 100% rename from test/tw-1637.t rename to test/tw-1637.test.sh diff --git a/test/tw-1643.t b/test/tw-1643.test.sh similarity index 100% rename from test/tw-1643.t rename to test/tw-1643.test.sh diff --git a/test/tw-1688.t b/test/tw-1688.test.sh similarity index 100% rename from test/tw-1688.t rename to test/tw-1688.test.sh diff --git a/test/tw-1715.t b/test/tw-1715.test.sh similarity index 100% rename from test/tw-1715.t rename to test/tw-1715.test.sh diff --git a/test/tw-1718.t b/test/tw-1718.test.sh similarity index 100% rename from test/tw-1718.t rename to test/tw-1718.test.sh diff --git a/test/tw-1804.t b/test/tw-1804.test.sh similarity index 100% rename from test/tw-1804.t rename to test/tw-1804.test.sh diff --git a/test/tw-1837.t b/test/tw-1837.test.py similarity index 100% rename from test/tw-1837.t rename to test/tw-1837.test.py diff --git a/test/tw-1883.t b/test/tw-1883.test.sh similarity index 100% rename from test/tw-1883.t rename to test/tw-1883.test.sh diff --git a/test/tw-1895.t b/test/tw-1895.test.sh similarity index 100% rename from test/tw-1895.t rename to test/tw-1895.test.sh diff --git a/test/tw-1938.t b/test/tw-1938.test.sh similarity index 100% rename from test/tw-1938.t rename to test/tw-1938.test.sh diff --git a/test/tw-20.t b/test/tw-20.test.py similarity index 100% rename from test/tw-20.t rename to test/tw-20.test.py diff --git a/test/tw-2124.t b/test/tw-2124.test.sh similarity index 100% rename from test/tw-2124.t rename to test/tw-2124.test.sh diff --git a/test/tw-2189.t b/test/tw-2189.test.sh similarity index 100% rename from test/tw-2189.t rename to test/tw-2189.test.sh diff --git a/test/tw-2257.t b/test/tw-2257.test.sh similarity index 100% rename from test/tw-2257.t rename to test/tw-2257.test.sh diff --git a/test/tw-2386.t b/test/tw-2386.test.sh similarity index 100% rename from test/tw-2386.t rename to test/tw-2386.test.sh diff --git a/test/tw-2392.t b/test/tw-2392.test.sh similarity index 100% rename from test/tw-2392.t rename to test/tw-2392.test.sh diff --git a/test/tw-2429.t b/test/tw-2429.test.sh similarity index 100% rename from test/tw-2429.t rename to test/tw-2429.test.sh diff --git a/test/tw-2451.t b/test/tw-2451.test.sh similarity index 100% rename from test/tw-2451.t rename to test/tw-2451.test.sh diff --git a/test/tw-2514.t b/test/tw-2514.test.sh similarity index 100% rename from test/tw-2514.t rename to test/tw-2514.test.sh diff --git a/test/tw-2530.t b/test/tw-2530.test.sh similarity index 100% rename from test/tw-2530.t rename to test/tw-2530.test.sh diff --git a/test/tw-2550.t b/test/tw-2550.test.sh similarity index 100% rename from test/tw-2550.t rename to test/tw-2550.test.sh diff --git a/test/tw-2575.t b/test/tw-2575.test.py similarity index 100% rename from test/tw-2575.t rename to test/tw-2575.test.py diff --git a/test/tw-2581.t b/test/tw-2581.test.sh similarity index 100% rename from test/tw-2581.t rename to test/tw-2581.test.sh diff --git a/test/tw-262.t b/test/tw-262.test.py similarity index 100% rename from test/tw-262.t rename to test/tw-262.test.py diff --git a/test/tw-2689.t.cpp b/test/tw-2689.test.cpp similarity index 100% rename from test/tw-2689.t.cpp rename to test/tw-2689.test.cpp diff --git a/test/tw-295.t b/test/tw-295.test.py similarity index 100% rename from test/tw-295.t rename to test/tw-295.test.py diff --git a/test/tw-3102.t b/test/tw-3102.test.sh similarity index 100% rename from test/tw-3102.t rename to test/tw-3102.test.sh diff --git a/test/tw-3109.t b/test/tw-3109.test.sh similarity index 100% rename from test/tw-3109.t rename to test/tw-3109.test.sh diff --git a/test/uda.t b/test/uda.test.py similarity index 100% rename from test/uda.t rename to test/uda.test.py diff --git a/test/uda_orphan.t b/test/uda_orphan.test.py similarity index 100% rename from test/uda_orphan.t rename to test/uda_orphan.test.py diff --git a/test/uda_report.t b/test/uda_report.test.py similarity index 100% rename from test/uda_report.t rename to test/uda_report.test.py diff --git a/test/uda_sort.t b/test/uda_sort.test.py similarity index 100% rename from test/uda_sort.t rename to test/uda_sort.test.py diff --git a/test/undo.t b/test/undo.test.py similarity index 100% rename from test/undo.t rename to test/undo.test.py diff --git a/test/unicode.t b/test/unicode.test.py similarity index 100% rename from test/unicode.t rename to test/unicode.test.py diff --git a/test/unique.t b/test/unique.test.py similarity index 100% rename from test/unique.t rename to test/unique.test.py diff --git a/test/upgrade.t b/test/upgrade.test.py similarity index 100% rename from test/upgrade.t rename to test/upgrade.test.py diff --git a/test/urgency.t b/test/urgency.test.py similarity index 100% rename from test/urgency.t rename to test/urgency.test.py diff --git a/test/urgency_inherit.t b/test/urgency_inherit.test.py similarity index 100% rename from test/urgency_inherit.t rename to test/urgency_inherit.test.py diff --git a/test/util.t.cpp b/test/util.test.cpp similarity index 100% rename from test/util.t.cpp rename to test/util.test.cpp diff --git a/test/uuid.t b/test/uuid.test.py similarity index 100% rename from test/uuid.t rename to test/uuid.test.py diff --git a/test/variant_add.t.cpp b/test/variant_add.test.cpp similarity index 100% rename from test/variant_add.t.cpp rename to test/variant_add.test.cpp diff --git a/test/variant_and.t.cpp b/test/variant_and.test.cpp similarity index 100% rename from test/variant_and.t.cpp rename to test/variant_and.test.cpp diff --git a/test/variant_cast.t.cpp b/test/variant_cast.test.cpp similarity index 100% rename from test/variant_cast.t.cpp rename to test/variant_cast.test.cpp diff --git a/test/variant_divide.t.cpp b/test/variant_divide.test.cpp similarity index 100% rename from test/variant_divide.t.cpp rename to test/variant_divide.test.cpp diff --git a/test/variant_equal.t.cpp b/test/variant_equal.test.cpp similarity index 100% rename from test/variant_equal.t.cpp rename to test/variant_equal.test.cpp diff --git a/test/variant_exp.t.cpp b/test/variant_exp.test.cpp similarity index 100% rename from test/variant_exp.t.cpp rename to test/variant_exp.test.cpp diff --git a/test/variant_gt.t.cpp b/test/variant_gt.test.cpp similarity index 100% rename from test/variant_gt.t.cpp rename to test/variant_gt.test.cpp diff --git a/test/variant_gte.t.cpp b/test/variant_gte.test.cpp similarity index 100% rename from test/variant_gte.t.cpp rename to test/variant_gte.test.cpp diff --git a/test/variant_inequal.t.cpp b/test/variant_inequal.test.cpp similarity index 100% rename from test/variant_inequal.t.cpp rename to test/variant_inequal.test.cpp diff --git a/test/variant_lt.t.cpp b/test/variant_lt.test.cpp similarity index 100% rename from test/variant_lt.t.cpp rename to test/variant_lt.test.cpp diff --git a/test/variant_lte.t.cpp b/test/variant_lte.test.cpp similarity index 100% rename from test/variant_lte.t.cpp rename to test/variant_lte.test.cpp diff --git a/test/variant_match.t.cpp b/test/variant_match.test.cpp similarity index 100% rename from test/variant_match.t.cpp rename to test/variant_match.test.cpp diff --git a/test/variant_math.t.cpp b/test/variant_math.test.cpp similarity index 100% rename from test/variant_math.t.cpp rename to test/variant_math.test.cpp diff --git a/test/variant_modulo.t.cpp b/test/variant_modulo.test.cpp similarity index 100% rename from test/variant_modulo.t.cpp rename to test/variant_modulo.test.cpp diff --git a/test/variant_multiply.t.cpp b/test/variant_multiply.test.cpp similarity index 100% rename from test/variant_multiply.t.cpp rename to test/variant_multiply.test.cpp diff --git a/test/variant_nomatch.t.cpp b/test/variant_nomatch.test.cpp similarity index 100% rename from test/variant_nomatch.t.cpp rename to test/variant_nomatch.test.cpp diff --git a/test/variant_not.t.cpp b/test/variant_not.test.cpp similarity index 100% rename from test/variant_not.t.cpp rename to test/variant_not.test.cpp diff --git a/test/variant_or.t.cpp b/test/variant_or.test.cpp similarity index 100% rename from test/variant_or.t.cpp rename to test/variant_or.test.cpp diff --git a/test/variant_partial.t.cpp b/test/variant_partial.test.cpp similarity index 100% rename from test/variant_partial.t.cpp rename to test/variant_partial.test.cpp diff --git a/test/variant_subtract.t.cpp b/test/variant_subtract.test.cpp similarity index 100% rename from test/variant_subtract.t.cpp rename to test/variant_subtract.test.cpp diff --git a/test/variant_xor.t.cpp b/test/variant_xor.test.cpp similarity index 100% rename from test/variant_xor.t.cpp rename to test/variant_xor.test.cpp diff --git a/test/verbose.t b/test/verbose.test.py similarity index 100% rename from test/verbose.t rename to test/verbose.test.py diff --git a/test/version.t b/test/version.test.py similarity index 100% rename from test/version.t rename to test/version.test.py diff --git a/test/view.t.cpp b/test/view.test.cpp similarity index 100% rename from test/view.t.cpp rename to test/view.test.cpp diff --git a/test/wait.t b/test/wait.test.py similarity index 100% rename from test/wait.t rename to test/wait.test.py