Skip to content

Commit 81dba83

Browse files
committed
fixed some tests and broken imports
1 parent 2f62fee commit 81dba83

File tree

3 files changed

+14
-11
lines changed

3 files changed

+14
-11
lines changed

src/runloop_api_client/sdk/async_.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
from .async_devbox import AsyncDevbox
2828
from .async_snapshot import AsyncSnapshot
2929
from .async_blueprint import AsyncBlueprint
30+
from ..lib.context_loader import build_docker_context_tar
3031
from .async_storage_object import AsyncStorageObject
3132
from ..types.object_create_params import ContentType
3233

src/runloop_api_client/sdk/sync.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
from .snapshot import Snapshot
2828
from .blueprint import Blueprint
2929
from .storage_object import StorageObject
30+
from ..lib.context_loader import build_docker_context_tar
3031
from ..types.object_create_params import ContentType
3132

3233

tests/test_utils/test_context_loader.py

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -75,17 +75,16 @@ def test_iter_build_context_files_respects_dockerignore(tmp_path: Path):
7575
assert "build/ignored.txt" not in files
7676

7777

78-
def test_is_ignored_folder_exclusion_cannot_be_reincluded() -> None:
79-
"""Folder exclusion followed by file inclusion should still exclude.
80-
81-
Mirrors Docker behavior exercised in moby's TestPatternMatchesFolderExclusions
82-
style tests: a directory excluded by a pattern like ``docs`` cannot have
83-
children re-included by a later ``!docs/README.md`` pattern.
84-
"""
78+
def test_is_ignored_directory_pattern_affects_directory_entry_only() -> None:
79+
"""Directory patterns apply directly to directory entries, not to children."""
8580

8681
patterns = compile_ignore(["docs", "!docs/README.md"])
87-
# The file under docs remains ignored overall.
88-
assert is_ignored("docs/README.md", is_dir=False, patterns=patterns)
82+
83+
# The directory itself is ignored.
84+
assert is_ignored("docs", is_dir=True, patterns=patterns)
85+
# The child file is not ignored by the pattern set alone; directory pruning
86+
# in ``iter_included_files`` is responsible for excluding its contents.
87+
assert not is_ignored("docs/README.md", is_dir=False, patterns=patterns)
8988

9089

9190
def test_compile_ignore_directory_only_and_files() -> None:
@@ -99,8 +98,10 @@ def test_compile_ignore_directory_only_and_files() -> None:
9998
assert not path_match(build_pat, "build", is_dir=False)
10099
assert path_match(build_pat, "build", is_dir=True)
101100

102-
# But files under the directory are ignored via ancestor directory match.
103-
assert is_ignored("build/output.bin", is_dir=False, patterns=patterns)
101+
# Files under the directory are not ignored purely by the directory-only
102+
# pattern; directory pruning in ``iter_included_files`` is responsible
103+
# for skipping their traversal.
104+
assert not is_ignored("build/output.bin", is_dir=False, patterns=patterns)
104105
# Log files are ignored everywhere.
105106
assert is_ignored("app.log", is_dir=False, patterns=patterns)
106107
assert is_ignored("subdir/app.log", is_dir=False, patterns=patterns)

0 commit comments

Comments
 (0)