shellsim 0.1.11__tar.gz → 0.1.13__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {shellsim-0.1.11 → shellsim-0.1.13}/Cargo.lock +1 -1
- {shellsim-0.1.11 → shellsim-0.1.13}/Cargo.toml +1 -1
- {shellsim-0.1.11 → shellsim-0.1.13}/PKG-INFO +1 -1
- {shellsim-0.1.11 → shellsim-0.1.13}/python/native/Cargo.lock +2 -2
- {shellsim-0.1.11 → shellsim-0.1.13}/python/native/Cargo.toml +1 -1
- {shellsim-0.1.11 → shellsim-0.1.13}/src/descriptors.rs +28 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/asyncio.py +505 -26
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/vm/native_runtime.rs +36 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/LICENSE +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/README.md +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/pyproject.toml +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/python/native/src/lib.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/python/shellsim/__init__.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/python/shellsim/__main__.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/python/shellsim/_api.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/python/shellsim/_cli.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/python/shellsim/py.typed +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/python/shellsim/python.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/rust-toolchain.toml +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/bin/shellsim-python.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/clock.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/archives.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/awk/ast.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/awk/eval.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/awk/lexer.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/awk/parser.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/awk.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/builtins.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/dd.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/echo.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/find.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/fs.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/git/apply.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/git/commit.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/git/compare.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/git/config.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/git/conflict.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/git/diff.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/git/ignore.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/git/import.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/git/log.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/git/merge.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/git/mod.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/git/plumbing.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/git/rebase.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/git/refs.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/git/repo.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/git/stash.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/git/switch.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/git/worktree.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/hashing.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/makecmd.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/mod.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/net.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/options.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/patch.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/pkg.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/printf.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/proc.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/regex_compat.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/rgcmd.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/sed.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/sort.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/system.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/tarcmd.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/text.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/unavailable.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/util.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/commands/zipcmd.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/exec.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/expand.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/harness.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/harness_manager.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/hashes.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/host_ingest.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/interp.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/jqcmd.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/lib.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/main.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/mcp.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/net.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/netcmd.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/process.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/pseudo_fs.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/ast.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/bytecode.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/compiler.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/filesystem.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/heap.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/http.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/lexer.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/mapping.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/mod.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/native.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/number.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/object_model.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/parser.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/process.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/protocol.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/slice.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/source.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/argparse.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/asyncio.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/base64.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/bisect.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/collections.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/core.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/dataclasses.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/enum.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/frozen.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/functools.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/hashlib.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/heapq.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/http.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/importlib.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/itertools.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/json.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/math.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/mod.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/numpy.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/os.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/pytest.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/re.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/abc.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/base64.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/cmath.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/codecs.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/collections.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/complex.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/copy.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/csv.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/datetime.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/glob.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/hashlib.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/http.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/http_client.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/importlib.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/io.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/json.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/logging.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/numpy_random.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/os.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/pathlib.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/pytest.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/random.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/shutil.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/statistics.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/struct.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/subprocess.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/tempfile.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/textwrap.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/urllib.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/urllib_error.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/urllib_request.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/uuid.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/zipfile.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/source/zlib.py +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/string.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/struct.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/subprocess.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/sys.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/time.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/typing.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/unittest.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/vfs.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/stdlib/zlib.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/string.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/token.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/vm/calls.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/vm/dispatch.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/vm/host.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/vm/iteration.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/vm/namespace.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/vm/objects.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/vm/operations.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/python/vm.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/resources.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/sandbox.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/scenario.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/scheduler.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/shell.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/telemetry.rs +0 -0
- {shellsim-0.1.11 → shellsim-0.1.13}/src/vfs.rs +0 -0
|
@@ -406,7 +406,7 @@ dependencies = [
|
|
|
406
406
|
|
|
407
407
|
[[package]]
|
|
408
408
|
name = "shellsim"
|
|
409
|
-
version = "0.1.
|
|
409
|
+
version = "0.1.13"
|
|
410
410
|
dependencies = [
|
|
411
411
|
"base64",
|
|
412
412
|
"crc32fast",
|
|
@@ -427,7 +427,7 @@ dependencies = [
|
|
|
427
427
|
|
|
428
428
|
[[package]]
|
|
429
429
|
name = "shellsim-python-bindings"
|
|
430
|
-
version = "0.1.
|
|
430
|
+
version = "0.1.13"
|
|
431
431
|
dependencies = [
|
|
432
432
|
"pyo3",
|
|
433
433
|
"serde",
|
|
@@ -194,6 +194,34 @@ impl DescriptorArena {
|
|
|
194
194
|
})
|
|
195
195
|
}
|
|
196
196
|
|
|
197
|
+
/// Whether retrying a blocked input read can now make progress.
|
|
198
|
+
pub(crate) fn input_readable(&self, id: DescriptionId) -> bool {
|
|
199
|
+
self.descriptions
|
|
200
|
+
.get(&id)
|
|
201
|
+
.is_some_and(|entry| match &entry.description {
|
|
202
|
+
OpenDescription::Input {
|
|
203
|
+
bytes,
|
|
204
|
+
cursor,
|
|
205
|
+
closed,
|
|
206
|
+
} => *cursor < bytes.len() || *closed,
|
|
207
|
+
_ => false,
|
|
208
|
+
})
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/// Whether retrying a blocked pipe read can now return bytes or EOF.
|
|
212
|
+
pub(crate) fn pipe_readable(&self, id: PipeId) -> bool {
|
|
213
|
+
self.pipes
|
|
214
|
+
.get(&id)
|
|
215
|
+
.is_some_and(|pipe| !pipe.bytes.is_empty() || pipe.writers == 0)
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/// Whether retrying a blocked pipe write can now write or report a closed reader.
|
|
219
|
+
pub(crate) fn pipe_writable(&self, id: PipeId) -> bool {
|
|
220
|
+
self.pipes
|
|
221
|
+
.get(&id)
|
|
222
|
+
.is_some_and(|pipe| pipe.readers == 0 || pipe.bytes.len() < pipe.capacity)
|
|
223
|
+
}
|
|
224
|
+
|
|
197
225
|
/// Append explicitly supplied bytes to a streaming input description.
|
|
198
226
|
pub fn append_input(&mut self, id: DescriptionId, input: &[u8]) -> Result<(), DescriptorError> {
|
|
199
227
|
let entry = self
|