mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-06-26 10:54:26 +02:00
Fix test script paths (#3387)
* fix path to task executable in pyton tests The current approach would copy the current files into the `build/test` directory. Updating the paths according to the custom user setup. By the copy I appended `.py` to have a clear visible distingtion which ones are the python tests. As soon as a source file in the normal directory is changed, it is copied over and the corresponding file is updated. From now on the python tests would need to get run in the according build directory. * reflect the current build instruction in PR template * update paths and globing in run_all * add line break for every cpp test * remove .gitignore in test folder As now all the auxillary files such as `all.log` as well as the executables are present in the `build` directory there is no longer a need to ignore them. * update paths in python test scripts and enable deactivated * remove .py extension when copy to build Further remove glob pattern for `*.t.py` tests. * remove accidentally added template.t from test files
This commit is contained in:
parent
7dba5e7695
commit
d093ce3d84
12 changed files with 179 additions and 50 deletions
2
.github/pull_request_template.md
vendored
2
.github/pull_request_template.md
vendored
|
@ -5,7 +5,7 @@ Replace this text with a description of the PR.
|
|||
#### Additional information...
|
||||
|
||||
- [ ] I changed C++ code or build infrastructure.
|
||||
Please run the test suite and include the output of `cd test && ./problems`.
|
||||
Please run the test suite and include the output of `cd build/test && make && ./problems`.
|
||||
|
||||
- [ ] I changed Rust code or build infrastructure.
|
||||
Please run `cargo test` and address any failures before submitting.
|
||||
|
|
41
test/.gitignore
vendored
41
test/.gitignore
vendored
|
@ -1,41 +0,0 @@
|
|||
*.o
|
||||
*.pyc
|
||||
*.data
|
||||
*.sqlite3
|
||||
*.log
|
||||
*.runlog
|
||||
col.t
|
||||
dom.t
|
||||
eval.t
|
||||
lexer.t
|
||||
t.t
|
||||
taskmod.t
|
||||
tdb2.t
|
||||
uri.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
|
||||
tc.t
|
||||
tw-2689.t
|
||||
|
||||
json_test
|
|
@ -18,7 +18,39 @@ include_directories (${CMAKE_SOURCE_DIR}
|
|||
${CMAKE_SOURCE_DIR}/taskchampion/lib
|
||||
${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)
|
||||
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
|
||||
)
|
||||
|
||||
add_custom_target (test ./run_all --verbose
|
||||
DEPENDS ${test_SRCS} task_executable
|
||||
|
@ -37,6 +69,135 @@ endforeach (src_FILE)
|
|||
|
||||
configure_file(run_all run_all COPYONLY)
|
||||
configure_file(problems problems COPYONLY)
|
||||
configure_file(bash_tap.sh bash_tap.sh COPYONLY)
|
||||
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
|
||||
)
|
||||
|
||||
foreach (python_Test ${pythonTests})
|
||||
configure_file(${python_Test} ${python_Test} COPYONLY)
|
||||
endforeach(python_Test)
|
||||
|
||||
#SET(CMAKE_BUILD_TYPE gcov)
|
||||
#SET(CMAKE_CXX_FLAGS_GCOV "--coverage")
|
||||
|
|
8
test/basetest/CMakeLists.txt
Normal file
8
test/basetest/CMakeLists.txt
Normal file
|
@ -0,0 +1,8 @@
|
|||
configure_file(__init__.py __init__.py COPYONLY)
|
||||
configure_file(compat.py compat.py COPYONLY)
|
||||
configure_file(exceptions.py exceptions.py COPYONLY)
|
||||
configure_file(hooks.py hooks.py COPYONLY)
|
||||
configure_file(meta.py meta.py COPYONLY)
|
||||
configure_file(task.py task.py COPYONLY)
|
||||
configure_file(testing.py testing.py COPYONLY)
|
||||
configure_file(utils.py utils.py)
|
|
@ -29,17 +29,17 @@ CURRENT_DIR = os.path.dirname(os.path.abspath(__file__))
|
|||
|
||||
# Location of binary files (usually the src/ folder)
|
||||
BIN_PREFIX = os.path.abspath(
|
||||
os.path.join(CURRENT_DIR, "..", "..", "src")
|
||||
os.path.join("${CMAKE_BINARY_DIR}","src")
|
||||
)
|
||||
|
||||
# Default location of test certificates
|
||||
DEFAULT_CERT_PATH = os.path.abspath(
|
||||
os.path.join(CURRENT_DIR, "..", "test_certs")
|
||||
os.path.join("${CMAKE_SOURCE_DIR}", "test", "test_certs")
|
||||
)
|
||||
|
||||
# Default location of test hooks
|
||||
DEFAULT_HOOK_PATH = os.path.abspath(
|
||||
os.path.join(CURRENT_DIR, "..", "test_hooks")
|
||||
os.path.join("${CMAKE_SOURCE_DIR}", "test", "test_hooks")
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
|||
from basetest import Task, TestCase
|
||||
from basetest.utils import BIN_PREFIX
|
||||
|
||||
TASKSH = os.path.abspath(os.path.join(BIN_PREFIX, "..", "scripts/bash/task.sh"))
|
||||
TASKSH = os.path.abspath(os.path.join(BIN_PREFIX, "..", "..", "scripts/bash/task.sh"))
|
||||
|
||||
|
||||
@contextmanager
|
||||
|
|
|
@ -70,7 +70,7 @@ class TestRunner(object):
|
|||
self._outputq = Queue()
|
||||
|
||||
def _find_tests(self):
|
||||
for test in glob.glob("*.t") + glob.glob("*.t.exe"):
|
||||
for test in glob.glob("*.t"):
|
||||
if os.access(test, os.X_OK):
|
||||
# Executables only
|
||||
if self._is_parallelizable(test):
|
||||
|
@ -123,7 +123,7 @@ class TestRunner(object):
|
|||
with open(test, 'rb') as fh:
|
||||
header = fh.read(100).split(b"\n")
|
||||
if len(header) >= 2 and \
|
||||
((b"/usr/bin/env python3" in header[0]) or \
|
||||
((b"!#/usr/bin/env python3" in header[0]) or \
|
||||
(header[1][-14:] == b"bash_tap_tw.sh")):
|
||||
return True
|
||||
else:
|
||||
|
|
1
test/simpletap/CMakeLists.txt
Normal file
1
test/simpletap/CMakeLists.txt
Normal file
|
@ -0,0 +1 @@
|
|||
configure_file(__init__.py __init__.py COPYONLY)
|
0
test/template.t
Normal file → Executable file
0
test/template.t
Normal file → Executable file
|
@ -41,7 +41,7 @@ class TestBug1379(TestCase):
|
|||
self.t = Task()
|
||||
# Themes are a special case that cannot be set via "task config"
|
||||
with open(self.t.taskrc, 'a') as fh:
|
||||
fh.write("include " + REPO_DIR + "/doc/rc/no-color.theme\n")
|
||||
fh.write("include " + REPO_DIR + "/../doc/rc/no-color.theme\n")
|
||||
|
||||
self.t.config("color.alternate", "")
|
||||
self.t.config("_forcecolor", "1")
|
||||
|
|
0
test/tw-1837.t
Normal file → Executable file
0
test/tw-1837.t
Normal file → Executable file
0
test/tw-2575.t
Normal file → Executable file
0
test/tw-2575.t
Normal file → Executable file
Loading…
Add table
Add a link
Reference in a new issue