More path handling improvements #232
Test report - 3.10 ❌
❌ test-results.xml
130 tests were completed in 18s with 87 passed, 42 failed and 1 skipped.
Test suite | Passed | Failed | Skipped | Time |
---|---|---|---|---|
pytest | 87✔️ | 42❌ | 1✖️ | 18s |
❌ pytest
tests.test_incremental
✔️ test_incremental_js
❌ test_incremental_ts
make_app = <function make_app.<locals>.make at 0x7f47f19916c0>
tests.test_init
✔️ test_relative_path_root
tests.test_ir
✔️ test_default
✔️ test_missing_default
tests.test_parsers
✔️ test_escapes
✔️ test_relative_dirs
tests.test_paths
✔️ test_global
✔️ test_node_modules1
✔️ test_node_modules2
✔️ test_env1
✔️ test_env2
✔️ test_err
tests.test_renderers
✔️ test_render_description
✔️ test_func_render_simple
✔️ test_func_render_shortnames
✔️ test_func_render_flags
✔️ test_func_render_description
✔️ test_func_render_params
✔️ test_func_render_returns
✔️ test_func_render_type_params
✔️ test_render_xref
✔️ test_func_render_param_type
✔️ test_func_render_param_options
✔️ test_func_render_param_exceptions
✔️ test_func_render_callouts
✔️ test_all
✔️ test_examples
tests.test_suffix_tree
✔️ test_things
✔️ test_full_path
✔️ test_terminal_insertion
✔️ test_ambiguous_even_if_full_path
✔️ test_ambiguous_paths_reported
✔️ test_value_ambiguity
tests.test_testing
✔️ test_dict_where
tests.test_build_js.test_build_js.Tests
✔️ test_autofunction_minimal
✔️ test_autofunction_explicit
✔️ test_autofunction_short
✔️ test_autofunction_long
✔️ test_autofunction_typedef
✔️ test_autofunction_callback
✔️ test_autofunction_example
✔️ test_autofunction_destructured_params
✔️ test_autofunction_defaults_in_doclet
✔️ test_autofunction_defaults_in_code
✔️ test_autofunction_variadic
✔️ test_autofunction_deprecated
✔️ test_autofunction_see
✔️ test_autofunction_static
✔️ test_autoclass
✔️ test_autoclass_members
✔️ test_autoclass_members_list
✔️ test_autoclass_members_list_star
✔️ test_autoclass_alphabetical
✔️ test_autoclass_private_members
✔️ test_autoclass_exclude_members
✔️ test_autoclass_example
✔️ test_autoclass_deprecated
✔️ test_autoclass_see
✔️ test_autoattribute
✔️ test_autoattribute_example
✔️ test_autoattribute_deprecated
✔️ test_autoattribute_see
✔️ test_getter_setter
✔️ test_no_shadowing
✔️ test_restructuredtext_injection
✔️ test_union_types
✔️ test_field_list_unwrapping
tests.test_build_ts.test_build_ts.TestTextBuilder
✔️ test_autoclass_constructor
✔️ test_autoclass_order
✔️ test_autoclass_star_order
✔️ test_abstract_extends_and_implements
✔️ test_exported_from
✔️ test_constructorless_class
✔️ test_optional_members
✔️ test_deprecated
✔️ test_example
✔️ test_async
✔️ test_symbol
✔️ test_predicate
tests.test_build_ts.test_build_ts.TestHtmlBuilder
✔️ test_extends_links
✔️ test_implements_links
✔️ test_xrefs
tests.test_common_mark.test_common_mark.Tests
✔️ test_build_success
tests.test_dot_dot_paths.test_dot_dot_paths.Tests
✔️ test_dot_dot
tests.test_jsdoc_analysis.test_jsdoc
✔️ test_doclet_full_path
tests.test_jsdoc_analysis.test_jsdoc.TestFunction
✔️ test_top_level_and_function
tests.test_jsdoc_analysis.test_jsdoc.TestClass
✔️ test_class
tests.test_typedoc_analysis.test_typedoc_analysis.TestPopulateIndex
❌ test_top_level_function
self = <test_typedoc_analysis.TestPopulateIndex testMethod=test_top_level_function>
tests.test_typedoc_analysis.test_typedoc_analysis.TestPathSegments
❌ test_class
cls = <class 'test_typedoc_analysis.TestPathSegments'>
❌ test_instance_property
cls = <class 'test_typedoc_analysis.TestPathSegments'>
❌ test_static_property
cls = <class 'test_typedoc_analysis.TestPathSegments'>
❌ test_interface_property
cls = <class 'test_typedoc_analysis.TestPathSegments'>
❌ test_weird_name
cls = <class 'test_typedoc_analysis.TestPathSegments'>
❌ test_getter
cls = <class 'test_typedoc_analysis.TestPathSegments'>
❌ test_setter
cls = <class 'test_typedoc_analysis.TestPathSegments'>
❌ test_method
cls = <class 'test_typedoc_analysis.TestPathSegments'>
❌ test_static_method
cls = <class 'test_typedoc_analysis.TestPathSegments'>
❌ test_constructor
cls = <class 'test_typedoc_analysis.TestPathSegments'>
❌ test_function
cls = <class 'test_typedoc_analysis.TestPathSegments'>
✖️ test_relative_paths
❌ test_namespaced_var
cls = <class 'test_typedoc_analysis.TestPathSegments'>
tests.test_typedoc_analysis.test_typedoc_analysis.TestConvertNode
❌ test_class1
cls = <class 'test_typedoc_analysis.TestConvertNode'>
❌ test_interface
cls = <class 'test_typedoc_analysis.TestConvertNode'>
❌ test_interface_function_member
cls = <class 'test_typedoc_analysis.TestConvertNode'>
❌ test_variable
cls = <class 'test_typedoc_analysis.TestConvertNode'>
❌ test_function
cls = <class 'test_typedoc_analysis.TestConvertNode'>
❌ test_constructor
cls = <class 'test_typedoc_analysis.TestConvertNode'>
❌ test_properties
cls = <class 'test_typedoc_analysis.TestConvertNode'>
❌ test_getter
cls = <class 'test_typedoc_analysis.TestConvertNode'>
❌ test_setter
cls = <class 'test_typedoc_analysis.TestConvertNode'>
tests.test_typedoc_analysis.test_typedoc_analysis.TestTypeName
❌ test_basic
cls = <class 'test_typedoc_analysis.TestTypeName'>
❌ test_named_interface
cls = <class 'test_typedoc_analysis.TestTypeName'>
❌ test_interface_readonly_member
cls = <class 'test_typedoc_analysis.TestTypeName'>
❌ test_array
cls = <class 'test_typedoc_analysis.TestTypeName'>
❌ test_literal_types
cls = <class 'test_typedoc_analysis.TestTypeName'>
❌ test_unions
cls = <class 'test_typedoc_analysis.TestTypeName'>
❌ test_intersection
cls = <class 'test_typedoc_analysis.TestTypeName'>
❌ test_generic_function
cls = <class 'test_typedoc_analysis.TestTypeName'>
❌ test_generic_member
cls = <class 'test_typedoc_analysis.TestTypeName'>
❌ test_constrained_by_interface
cls = <class 'test_typedoc_analysis.TestTypeName'>
❌ test_constrained_by_key
cls = <class 'test_typedoc_analysis.TestTypeName'>
❌ test_class_constrained
cls = <class 'test_typedoc_analysis.TestTypeName'>
❌ test_constrained_by_constructor
cls = <class 'test_typedoc_analysis.TestTypeName'>
❌ test_utility_types
cls = <class 'test_typedoc_analysis.TestTypeName'>
❌ test_constrained_by_property
cls = <class 'test_typedoc_analysis.TestTypeName'>
❌ test_optional_property
cls = <class 'test_typedoc_analysis.TestTypeName'>
❌ test_code_in_description
cls = <class 'test_typedoc_analysis.TestTypeName'>
❌ test_destructured
cls = <class 'test_typedoc_analysis.TestTypeName'>
❌ test_funcarg
cls = <class 'test_typedoc_analysis.TestTypeName'>
Annotations
Check failure on line 0 in test-results.xml
github-actions / Test report - 3.10
pytest ► tests.test_incremental ► test_incremental_ts
Failed test found in:
test-results.xml
Error:
make_app = <function make_app.<locals>.make at 0x7f47f19916c0>
Raw output
make_app = <function make_app.<locals>.make at 0x7f47f19916c0>
app_params = _app_params(args=['html'], kwargs={'srcdir': PosixPath('/tmp/pytest-of-runner/pytest-0/incremental_ts')})
@pytest.mark.sphinx("html", testroot="incremental_ts")
def test_incremental_ts(make_app, app_params):
args, kwargs = app_params
app = make_app(*args, freshenv=True, **kwargs)
> do_test(app, extension="ts")
tests/test_incremental.py:97:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
app = <SphinxTestApp buildername='html'>, extension = 'ts'
def do_test(app, extension="js"):
# Clean build.
assert app.env.config_status == CONFIG_NEW
status, reads, writes = build(app)
assert reads == ["a", "a_b", "b", "index", "unrelated"]
assert writes == ["a", "a_b", "b", "index", "unrelated"]
# Incremental build, no config changed and no files changed.
assert app.env.config_status == CONFIG_OK
status, reads, writes = build(app)
> assert reads == []
E AssertionError: assert ['a', 'a_b', 'b'] == []
E Left contains 3 more items, first extra item: 'a'
E Full diff:
E - []
E + ['a', 'a_b', 'b']
tests/test_incremental.py:55: AssertionError
Check failure on line 0 in test-results.xml
github-actions / Test report - 3.10
pytest ► tests.test_typedoc_analysis.test_typedoc_analysis.TestPopulateIndex ► test_top_level_function
Failed test found in:
test-results.xml
Error:
self = <test_typedoc_analysis.TestPopulateIndex testMethod=test_top_level_function>
Raw output
self = <test_typedoc_analysis.TestPopulateIndex testMethod=test_top_level_function>
def test_top_level_function(self):
"""Make sure nodes get indexed."""
# A simple TypeDoc JSON dump of a source file with a single, top-level
# function with no params or return value:
json = parse(
loads(
r"""
{
"id": 0,
"name": "misterRoot",
"children": [
{
"id": 1,
"name": "longnames",
"kindString": "Module",
"children": [
{
"id": 2,
"name": "foo",
"kindString": "Function",
"signatures": [
{
"id": 3,
"name": "foo",
"kindString": "Call signature",
"comment": {"shortText": "Foo function."},
"type": {"type": "intrinsic", "name": "void"}
}
]
}
],
"sources": [
{
"fileName": "longnames.ts",
"line": 1,
"url": "blob/commithash/tests/test_typedoc_analysis/source/longnames.ts"
}
]
}
]
}
"""
)
)
index = Converter("./tests/").populate_index(json).index
# Things get indexed by ID:
function = index[2]
assert function.name == "foo"
# things get paths
> assert function.path == [
"./",
"test_typedoc_analysis/",
"source/",
"longnames.",
"foo",
]
E AssertionError: assert ['blob/', 'co...gnames.', ...] == ['./', 'test_...ames.', 'foo']
E At index 0 diff: 'blob/' != './'
E Left contains 2 more items, first extra item: 'longnames.'
E Full diff:
E [
E - './',
E + 'blob/',
E + 'commithash/',
E + 'tests/',
E 'test_typedoc_analysis/',
E 'source/',
E 'longnames.',
E 'foo',
E ]
tests/test_typedoc_analysis/test_typedoc_analysis.py:93: AssertionError
Check failure on line 0 in test-results.xml
github-actions / Test report - 3.10
pytest ► tests.test_typedoc_analysis.test_typedoc_analysis.TestPathSegments ► test_class
Failed test found in:
test-results.xml
Error:
cls = <class 'test_typedoc_analysis.TestPathSegments'>
Raw output
cls = <class 'test_typedoc_analysis.TestPathSegments'>
@classmethod
def setup_class(cls):
"""Run the TS analyzer over the TypeDoc output."""
cls._source_dir = join(cls.this_dir(), "source")
> cls.json = typedoc_output(
[join(cls._source_dir, file) for file in cls.files],
cls._source_dir,
"tsconfig.json",
)
E TypeError: typedoc_output() missing 1 required positional argument: 'base_dir'
tests/testing.py:81: TypeError
Check failure on line 0 in test-results.xml
github-actions / Test report - 3.10
pytest ► tests.test_typedoc_analysis.test_typedoc_analysis.TestPathSegments ► test_instance_property
Failed test found in:
test-results.xml
Error:
cls = <class 'test_typedoc_analysis.TestPathSegments'>
Raw output
cls = <class 'test_typedoc_analysis.TestPathSegments'>
@classmethod
def setup_class(cls):
"""Run the TS analyzer over the TypeDoc output."""
cls._source_dir = join(cls.this_dir(), "source")
> cls.json = typedoc_output(
[join(cls._source_dir, file) for file in cls.files],
cls._source_dir,
"tsconfig.json",
)
E TypeError: typedoc_output() missing 1 required positional argument: 'base_dir'
tests/testing.py:81: TypeError
Check failure on line 0 in test-results.xml
github-actions / Test report - 3.10
pytest ► tests.test_typedoc_analysis.test_typedoc_analysis.TestPathSegments ► test_static_property
Failed test found in:
test-results.xml
Error:
cls = <class 'test_typedoc_analysis.TestPathSegments'>
Raw output
cls = <class 'test_typedoc_analysis.TestPathSegments'>
@classmethod
def setup_class(cls):
"""Run the TS analyzer over the TypeDoc output."""
cls._source_dir = join(cls.this_dir(), "source")
> cls.json = typedoc_output(
[join(cls._source_dir, file) for file in cls.files],
cls._source_dir,
"tsconfig.json",
)
E TypeError: typedoc_output() missing 1 required positional argument: 'base_dir'
tests/testing.py:81: TypeError
Check failure on line 0 in test-results.xml
github-actions / Test report - 3.10
pytest ► tests.test_typedoc_analysis.test_typedoc_analysis.TestPathSegments ► test_interface_property
Failed test found in:
test-results.xml
Error:
cls = <class 'test_typedoc_analysis.TestPathSegments'>
Raw output
cls = <class 'test_typedoc_analysis.TestPathSegments'>
@classmethod
def setup_class(cls):
"""Run the TS analyzer over the TypeDoc output."""
cls._source_dir = join(cls.this_dir(), "source")
> cls.json = typedoc_output(
[join(cls._source_dir, file) for file in cls.files],
cls._source_dir,
"tsconfig.json",
)
E TypeError: typedoc_output() missing 1 required positional argument: 'base_dir'
tests/testing.py:81: TypeError
Check failure on line 0 in test-results.xml
github-actions / Test report - 3.10
pytest ► tests.test_typedoc_analysis.test_typedoc_analysis.TestPathSegments ► test_weird_name
Failed test found in:
test-results.xml
Error:
cls = <class 'test_typedoc_analysis.TestPathSegments'>
Raw output
cls = <class 'test_typedoc_analysis.TestPathSegments'>
@classmethod
def setup_class(cls):
"""Run the TS analyzer over the TypeDoc output."""
cls._source_dir = join(cls.this_dir(), "source")
> cls.json = typedoc_output(
[join(cls._source_dir, file) for file in cls.files],
cls._source_dir,
"tsconfig.json",
)
E TypeError: typedoc_output() missing 1 required positional argument: 'base_dir'
tests/testing.py:81: TypeError
Check failure on line 0 in test-results.xml
github-actions / Test report - 3.10
pytest ► tests.test_typedoc_analysis.test_typedoc_analysis.TestPathSegments ► test_getter
Failed test found in:
test-results.xml
Error:
cls = <class 'test_typedoc_analysis.TestPathSegments'>
Raw output
cls = <class 'test_typedoc_analysis.TestPathSegments'>
@classmethod
def setup_class(cls):
"""Run the TS analyzer over the TypeDoc output."""
cls._source_dir = join(cls.this_dir(), "source")
> cls.json = typedoc_output(
[join(cls._source_dir, file) for file in cls.files],
cls._source_dir,
"tsconfig.json",
)
E TypeError: typedoc_output() missing 1 required positional argument: 'base_dir'
tests/testing.py:81: TypeError
Check failure on line 0 in test-results.xml
github-actions / Test report - 3.10
pytest ► tests.test_typedoc_analysis.test_typedoc_analysis.TestPathSegments ► test_setter
Failed test found in:
test-results.xml
Error:
cls = <class 'test_typedoc_analysis.TestPathSegments'>
Raw output
cls = <class 'test_typedoc_analysis.TestPathSegments'>
@classmethod
def setup_class(cls):
"""Run the TS analyzer over the TypeDoc output."""
cls._source_dir = join(cls.this_dir(), "source")
> cls.json = typedoc_output(
[join(cls._source_dir, file) for file in cls.files],
cls._source_dir,
"tsconfig.json",
)
E TypeError: typedoc_output() missing 1 required positional argument: 'base_dir'
tests/testing.py:81: TypeError
Check failure on line 0 in test-results.xml
github-actions / Test report - 3.10
pytest ► tests.test_typedoc_analysis.test_typedoc_analysis.TestPathSegments ► test_method
Failed test found in:
test-results.xml
Error:
cls = <class 'test_typedoc_analysis.TestPathSegments'>
Raw output
cls = <class 'test_typedoc_analysis.TestPathSegments'>
@classmethod
def setup_class(cls):
"""Run the TS analyzer over the TypeDoc output."""
cls._source_dir = join(cls.this_dir(), "source")
> cls.json = typedoc_output(
[join(cls._source_dir, file) for file in cls.files],
cls._source_dir,
"tsconfig.json",
)
E TypeError: typedoc_output() missing 1 required positional argument: 'base_dir'
tests/testing.py:81: TypeError
Check failure on line 0 in test-results.xml
github-actions / Test report - 3.10
pytest ► tests.test_typedoc_analysis.test_typedoc_analysis.TestPathSegments ► test_static_method
Failed test found in:
test-results.xml
Error:
cls = <class 'test_typedoc_analysis.TestPathSegments'>
Raw output
cls = <class 'test_typedoc_analysis.TestPathSegments'>
@classmethod
def setup_class(cls):
"""Run the TS analyzer over the TypeDoc output."""
cls._source_dir = join(cls.this_dir(), "source")
> cls.json = typedoc_output(
[join(cls._source_dir, file) for file in cls.files],
cls._source_dir,
"tsconfig.json",
)
E TypeError: typedoc_output() missing 1 required positional argument: 'base_dir'
tests/testing.py:81: TypeError