about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2024-02-09 r/7489 chore(3p/geesefs): bump to version 0.40.0Vincent Ambo1-3/+3
Change-Id: I160604f20bf6be7673693d4c65cf8edd2171a148 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10590 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2024-02-08 r/7488 fix(tvix/eval): Inline List.sort_by, and propagate errorsAspen Smith2-53/+45
In order to correctly propagate errors in the comparator passed to builtins.sort, we need to do all the sorting in a context where we can short-circuit return `Value`s (because catchables are Values on the `Ok` side of the Result , not `Err`s). Unfortunately this means we have to *inline* the List `sort_by` implementation into the builtin_sort function - fortunately this is the only place that was called so this is relatively low cost. This does that, and adds the requisite `try_value!` invocation to allow us to propagate comparator errors here. As before, this doesn't include tests, primarily since those are coming in the next commit. Change-Id: I8453c3aa2cd82299eae89828e2a2bb118da4cd48 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10754 Tested-by: BuildkiteCI Reviewed-by: raitobezarius <tvl@lahfa.xyz>
2024-02-08 r/7487 fix(tvix): Catch errors for generator in some builtinsAspen Smith1-2/+3
Nix doesn't propagate errors for the function argument to some builtins, like genList and map: ❯ nix repl Welcome to Nix version 2.3.17. Type :? for help. nix-repl> (builtins.tryEval (builtins.genList (builtins.throw "a") 10)).success true nix-repl> (builtins.tryEval (builtins.map (builtins.throw "a") [ "" ])).success true Note that this is untested as of this particular commit, only because a big test suite covering all sorts of catchable error propagation issues is coming next Change-Id: I48c8eb390a541204b1a6d438c753fa1ca9b3877e Reviewed-on: https://cl.tvl.fyi/c/depot/+/10753 Autosubmit: aspen <root@gws.fyi> Tested-by: BuildkiteCI Reviewed-by: raitobezarius <tvl@lahfa.xyz>
2024-02-08 r/7486 fix(tazjin/secrets): change to new tgsa translations keyVincent Ambo1-0/+0
Change-Id: Ib1d2cd8a1ef76dc03531f199ba573ebf3339493c Reviewed-on: https://cl.tvl.fyi/c/depot/+/10751 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-02-08 r/7485 chore(tazjin/secrets): rotate key for agenix on khamovnikVincent Ambo2-1/+2
Change-Id: I36fa4e0530771c63fcee515a15ec6df76247105a Reviewed-on: https://cl.tvl.fyi/c/depot/+/10750 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-02-08 r/7484 fix(tazjin/tgsa): fix cloud folder ID for translationsVincent Ambo1-1/+1
Change-Id: Icc2fa07902507a9abcf43ab3076419fefac8552d Reviewed-on: https://cl.tvl.fyi/c/depot/+/10749 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2024-02-08 r/7483 fix(tvix/eval): Propagate catchables in a few more placesAspen Smith1-9/+10
Propagate catchables that we get from forcing thunks in builtins in a few more places using the new try_value! macro Change-Id: I95fd41a231f877ff153f4adbabd944372d4cc7eb Reviewed-on: https://cl.tvl.fyi/c/depot/+/10738 Reviewed-by: raitobezarius <tvl@lahfa.xyz> Tested-by: BuildkiteCI
2024-02-08 r/7482 refactor(tvix/eval): Generalize propagation of catchable valuesAspen Smith2-183/+44
Rather than explicitly checking for Value::Catchable in all builtins, make the #[builtin] proc macro insert this for all strict arguments by default, with support for a #[catch] attribute on the argument to disable this behavior. That attribute hasn't actually been *used* anywhere here, primarily because the tests pass without it, even for those builtins which weren't previously checking for Value::Catchable - if some time passes without this being used I might get rid of support for it entirely. There's also a `try_value` macro in builtins directly for the places where builtins were eg forcing something, then explicitly propagating a catchable value. Change-Id: Ie22037b9d3e305e3bdb682d105fe467bd90d53e9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10732 Tested-by: BuildkiteCI Reviewed-by: raitobezarius <tvl@lahfa.xyz>
2024-02-07 r/7481 chore(tvix/tools/turbofetch): bump magic-buffer to 0.1.1Florian Klink4-16/+25
This contains https://github.com/sklose/magic-buffer/pull/4, so we don't have to impl Send ourselves. Change-Id: If046596e13345ad4fec22209440e65859e44d540 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10748 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: edef <edef@edef.eu>
2024-02-06 r/7480 fix(tvix): fix build on darwinNikita Voloboev1-3/+7
on macOS additional framework was needed to build tvix build Change-Id: I0e327378d1bd4837f62496c4c6e66bc489ddedb4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10747 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2024-02-06 r/7479 docs(tvix/castore/blobstore): reorganize docsFlorian Klink3-121/+251
docs/verified-streaming.md explained how CDC and verified streaming can work together, but didn't really highlight enough how chunking in general also helps with seeking. In addition, a lot of the thoughts w.r.t. the BlobStore protocol, both gRPC and Rust traits, as well as why there's no support for seeking directly in gRPC, as well as how clients should behave w.r.t. chunked fetching was missing, or mixed together with the verified streaming bits. While there is no verified streaming version yet, a chunked one is coming soon, and documenting this a bit better is gonna make it easier to understand, as well as provide some lookout on where this is heading. Change-Id: Ib11b8ccf2ef82f9f3a43b36103df0ad64a9b68ce Reviewed-on: https://cl.tvl.fyi/c/depot/+/10733 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: Connor Brewster <cbrewster@hey.com>
2024-02-06 r/7478 subtree(3p/exwm): update & hard reset to commit 'a6e66f5e33'Vincent Ambo16-164/+484
This contains a bunch of upstream changes after the new maintainers of EXWM took over, including proper mainlined versions of patches I've been carrying around here manually. Notably this undoes the Chromium focus fix patch, lets see how that goes. git-subtree-dir: third_party/exwm git-subtree-mainline: a756b46bc70a8a1dbb205d50283a3fe65282ed91 git-subtree-split: a6e66f5e339473105d83dd4e7e3f3db9b1aa9f0f Change-Id: Ibcaba379b56611b8f1918c3b60469492d64a3eb7
2024-02-05 r/7477 feat(grfn/emacs): More ocaml configAspen Smith2-2/+17
Change-Id: I12d20f36226ed0d262d1bea4efcabfff8718d365 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10744 Autosubmit: aspen <root@gws.fyi> Reviewed-by: aspen <root@gws.fyi> Tested-by: BuildkiteCI
2024-02-05 r/7476 fix(3p/overlays): pin specific version of tpm2-pkcs11Vincent Ambo5-3/+124
Newer versions broke compatibility with who knows whatever part of the stack is required for correct TVM + OpenVPN interaction, but I need this to work. This was previously picked from stable, but we've bumped stable and it has advanced to a version where this is also broken. I believe this is a known issue, but right now I don't have the time to look into it. Change-Id: I1060f3ecfd7b43ebe5e1860f59f7574ca094570a Reviewed-on: https://cl.tvl.fyi/c/depot/+/10743 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-02-05 r/7475 docs(tvix/store/pathinfosvc): document nix+http[s]Florian Klink1-0/+5
Change-Id: I5f4e93aceec373eb3377e3f8fbb55a5142cc1363 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10740 Tested-by: BuildkiteCI Reviewed-by: Connor Brewster <cbrewster@hey.com>
2024-02-05 Simplify and improve focus handling (#10)Steven Allen1-29/+23
Combine both focus update timers into one and ignore windows in "no focus" frames. * exwm-input.el (exwm-input--on-buffer-list-update): Avoid focusing windows in frames with the `no-accept-focus` frame property. (exwm-input--update-focus-defer-timer): Remove the duplicate timer. (exwm-input--update-focus-defer): Use a single `exwm-input--update-focus-timer`. (exwm-input--update-focus-commit): Read `exwm-input--update-focus-window` instead of taking a window as a parameter (this is what lets us combine the timers). (exwm-input--update-focus-commit): Use a let-bind instead of unwind-protect. (exwm-input--exit): Remove references to `exwm-input--update-focus-defer-timer`.
2024-02-04 Ensure that default-directory is a directory name in EXWM buffers.Daniel Mendler1-1/+1
Otherwise `default-directory' could be /home/user instead of /home/user/ as is expected by Emacs. * exwm-manage.el (exwm-manage--update-default-directory): Use `file-name-as-directory'.
2024-02-04 Set the EXWM buffer's default directory to match the process's CWD (#14)Steven Allen1-0/+18
* exwm-manage.el (exwm-manage--update-default-directory): define a function to update the default-directory of an X window based on it's CID. (exwm-manage--manage-window): call `exwm-manage--update-update-default-directory` on manage (fixes #12).
2024-02-04 Remove redundant with-current-buffer in manage-window (#13)Steven Allen1-14/+10
All this logic runs in the context of the EXWM buffer. If there are concerns about the X windows associating with a different buffer while we're still trying to manage it, we probably have bigger problems. * exwm-manage.el (exwm-manage--manage-window): assume that the current buffer doesn't change.
2024-02-04 r/7474 feat(tazjin/khamovnik): add intel OpenCL runtimeVincent Ambo1-0/+1
Change-Id: If882314204e7d0f8c2be5587fb4569ba273cf776 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10742 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2024-02-04 r/7473 docs(eval/docs): toJSON is doneFlorian Klink1-1/+1
Change-Id: I67381b19eedb651f4049e20e7b1e43641a116ae5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10739 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2024-02-02 r/7472 docs(nix-1p): clarify wording for what is an expressionVincent Ambo1-2/+1
See https://github.com/tazjin/nix-1p/issues/19 Change-Id: Ie78eb00192b595ffa59040a4f6d311023621939a Reviewed-on: https://cl.tvl.fyi/c/depot/+/10737 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
2024-02-02 r/7471 fix(tvix/castore/grpc/svc_wrapper): expose chunks() over gRPCFlorian Klink1-3/+6
The Stat() method was just always signalling no granular chunks are available. However, as we now have a .chunks() method, we can expose it over gRPC. Change-Id: I74f0890ae083f301bb0cec62f1ea4a95463ac590 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10736 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Connor Brewster <cbrewster@hey.com>
2024-02-02 r/7470 feat(tvix/castore/blobsvc): validate StatBlobResponseFlorian Klink2-0/+29
All chunks must have valid blake3 digests. It is allowed to send an empty list, if no more granular chunking is available. Change-Id: I7ecb53579cdf40fd938bb68a85685751b4d3626f Reviewed-on: https://cl.tvl.fyi/c/depot/+/10726 Tested-by: BuildkiteCI Reviewed-by: Connor Brewster <cbrewster@hey.com> Autosubmit: flokli <flokli@flokli.de>
2024-02-02 r/7469 refactor(tvix/castore/grpc/blobsvc): inline stream_mapperFlorian Klink1-12/+3
This can be written without the additional function. Change-Id: Ib11c5d5254d3e44c8fa9661414835b0622eb1ac4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10735 Reviewed-by: Connor Brewster <cbrewster@hey.com> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2024-02-02 r/7468 docs(tvix/castore/blobsvc): fix doc comments on traitFlorian Klink1-10/+14
The readers implement AsyncRead/AsyncSeek, not their sync counterparts. Also update expectations around chunks. Change-Id: Ic266688039d80d16d33f651b96ce2bcdedecfa00 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10734 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: Connor Brewster <cbrewster@hey.com>
2024-02-02 r/7467 refactor(tvix/eval): Box Value::StringAspen Smith15-72/+69
NixString is *quite* large - like 80 bytes - because of the extra capacity value for BString and because of the context. We want to keep Value small since we're passing it around a lot, so let's box the NixString inside Value::String to save on some memory, and make cloning ostensibly a little cheaper Change-Id: I343c8b4e7f61dc3dcbbaba4382efb3b3e5bbabb2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10729 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2024-02-02 r/7466 feat(tvix/castore/docs/verified-streaming): clarify replyFlorian Klink1-1/+1
"given chunksize" is misleading here. It's up to the backend to decide if it does chunking at all, and how it chunks. Change-Id: I4f130ca9ac34db79f18ef1d6475295806ac7f9a4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10728 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: Connor Brewster <cbrewster@hey.com> Tested-by: BuildkiteCI
2024-02-02 r/7465 refactor(tvix/castore/blobsvc/combinator): compact trait boundsFlorian Klink1-1/+2
BlobService already implies Send and Sync, we don't need to explicitly list it here. Change-Id: I58a4c5912be61a60acd961565979aa01d94ee0f7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10727 Reviewed-by: Connor Brewster <cbrewster@hey.com> Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de>
2024-02-01 r/7464 chore(grfn/home): Update alacritty config for deprecated keysAspen Smith1-3/+3
Change-Id: Ibd22fc94c7e833cabbc158aeb43f1958226ab5d5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10730 Autosubmit: aspen <root@gws.fyi> Tested-by: BuildkiteCI Reviewed-by: aspen <root@gws.fyi>
2024-02-01 r/7463 feat(tvix/eval): Don't emit OpForce for non-thunk constantsAspen Smith3-0/+26
In the compiler, skip emitting an OpForce if the last op was an OpConstant for a non-thunk constant. This gives a small (~1% on my machine) perf boost, eg when evaluating hello.outPath: ❯ hyperfine \ "./before --no-warnings -E '(import <nixpkgs> {}).hello.outPath'" \ "./after --no-warnings -E '(import <nixpkgs> {}).hello.outPath'" Benchmark 1: ./before --no-warnings -E '(import <nixpkgs> {}).hello.outPath' Time (mean ± σ): 1.151 s ± 0.022 s [User: 1.003 s, System: 0.151 s] Range (min … max): 1.123 s … 1.184 s 10 runs Benchmark 2: ./after --no-warnings -E '(import <nixpkgs> {}).hello.outPath' Time (mean ± σ): 1.140 s ± 0.022 s [User: 0.989 s, System: 0.152 s] Range (min … max): 1.115 s … 1.175 s 10 runs Summary ./after --no-warnings -E '(import <nixpkgs> {}).hello.outPath' ran 1.01 ± 0.03 times faster than ./before --no-warnings -E '(import <nixpkgs> {}).hello.outPath' Change-Id: I2105fd431d4bad699087907e16c789418e9a4062 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10714 Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-02-01 r/7462 chore(3p/sources): Bump channels & overlaysAspen Smith2-23/+20
* update for agenix has been dropped, for the same reason as with cl/10458 * dropped stable override for avrdude * dropped stable override for awscli2 * picked SBCL from stable channel due to weird build errors that only seem to happen on AMD CPUs (like on whitby) Change-Id: I54557ef09d14ccf243c286101e75e948e65e0217 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10712 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2024-02-01 r/7461 refactor(tvix/eval): Don't double-box Path valuesAspen Smith6-20/+23
PathBuf internally contains a heap pointer (an OsString), so we were in effect double-boxing here. Removing the extra layer by making Tvix::Value represented by a Box<Path> rather than a Box<PathBuf> saves us an indirection, while still avoiding the extra memory overhead of the capacity which was the reason we were boxing PathBuf in the first place. Change-Id: I8c185b9d4646161d1921917f83e87421496a3e24 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10725 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: aspen <root@gws.fyi> Tested-by: BuildkiteCI
2024-01-31 r/7460 fix(tvix): Represent strings as byte arraysAspen Smith24-223/+427
C++ nix uses C-style zero-terminated char pointers to represent strings internally - however, up to this point, tvix has used Rust `String` and `str` for string values. Since those are required to be valid utf-8, we haven't been able to properly represent all the string values that Nix supports. To fix that, this change converts the internal representation of the NixString struct from `Box<str>` to `BString`, from the `bstr` crate - this is a wrapper around a `Vec<u8>` with extra functions for treating that byte vector as a "morally string-like" value, which is basically exactly what we need. Since this changes a pretty fundamental assumption about a pretty core type, there are a *lot* of changes in a lot of places to make this work, but I've tried to keep the general philosophy and intent of most of the code in most places intact. Most notably, there's nothing that's been done to make the derivation stuff in //tvix/glue work with non-utf8 strings everywhere, instead opting to just convert to String/str when passing things into that - there *might* be something to be done there, but I don't know what the rules should be and I don't want to figure them out in this change. To deal with OS-native paths in a way that also works in WASM for tvixbolt, this also adds a dependency on the "os_str_bytes" crate. Fixes: b/189 Fixes: b/337 Change-Id: I5e6eb29c62f47dd91af954f5e12bfc3d186f5526 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10200 Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: flokli <flokli@flokli.de> Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: aspen <root@gws.fyi> Tested-by: BuildkiteCI
2024-01-31 r/7459 feat(tvix/eval/observer): Allow capturing timing of eventsAspen Smith2-0/+36
Add a new --trace-runtime-timing flag (probably a better bikeshed for this) that enables capturing the time, relative to the last event, of each event recorded with the tracing observer. This probably isn't *super* useful yet, but I'd like to start here in adding new profiling tools to the VM, specifically based on the runtime observer Change-Id: Id7f12077291c39bf3eef42ab6744bfba53687a65 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10713 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2024-01-30 r/7458 feat(grfn/system): Add an ocaml home moduleAspen Smith2-0/+18
Change-Id: Ie61b506751e3829f101fac5d1da4173c8f349f0f Reviewed-on: https://cl.tvl.fyi/c/depot/+/10708 Tested-by: BuildkiteCI Reviewed-by: aspen <root@gws.fyi> Autosubmit: aspen <root@gws.fyi>
2024-01-30 r/7457 feat(grfn/emacs): Add some bindings for ocamlAspen Smith1-1/+8
Change-Id: Idd81af0d30aa6cc3439d2916c799b493a7562878 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10707 Reviewed-by: aspen <root@gws.fyi> Tested-by: BuildkiteCI Autosubmit: aspen <root@gws.fyi>
2024-01-30 r/7456 chore(users/flokli/nixos): drop archeology nixos configFlorian Klink4-64/+0
The machine at Hetzner is gone, only the one in EC2 remains. Change-Id: Ia7266d56ef1174267b95086c51e6d80015c2f905 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10711 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: flokli <flokli@flokli.de>
2024-01-30 r/7455 chore(users/padraic-o-mhuiris): Add OWNERS filePadraic-O-Mhuiris1-0/+3
Registering to tvl Change-Id: I03186e46cde060fc3a850ed049162c266085637e Reviewed-on: https://cl.tvl.fyi/c/depot/+/10710 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2024-01-30 r/7454 feat(users/flokli/ipu6-softisp): initFlorian Klink27-0/+5847
This code adds support for the ipu6 webcams via libcamera, based on the work in https://copr.fedorainfracloud.org/coprs/jwrdegoede/ipu6-softisp/. It's supposed to be included in your NixOS configuration imports. Change-Id: Ifb71999ad61161fa23506b97cb449f73fb1270e3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10709 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de> Autosubmit: flokli <flokli@flokli.de>
2024-01-27 r/7453 feat(tvix/tools/crunch-v2): add CLI argsFlorian Klink6-33/+884
Use clap derive to make the input and output files configurable, as well as the chunk size parameters. Change-Id: I02b29126f3bd2c13ba2c6e7e0aa4ff048ff803ed Reviewed-on: https://cl.tvl.fyi/c/depot/+/10691 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: edef <edef@edef.eu>
2024-01-27 r/7452 feat(tvix/tools/crunch-v2): initedef12-0/+15022
This is a tool for ingesting subsets of cache.nixos.org into its own flattened castore format. Currently, produced chunks are not preserved, and this purely serves as a way of measuring compression/deduplication ratios for various chunking and compression parameters. Change-Id: I3983af02a66f7837d76874ee0fc8b2fab62ac17e Reviewed-on: https://cl.tvl.fyi/c/depot/+/10486 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2024-01-25 r/7451 feat(tvix/eval/tvix_tests): add some more xml testsFlorian Klink2-0/+48
https: //cl.tvl.fyi/c/depot/+/10686/comment/ea582dae_574d6c3f/ Change-Id: Iac74abbf2f2e0327bc9ddf9dcc6bb43f918a1c63 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10689 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-01-25 r/7450 feat(users/flokli/kb/dilemma): switch to qmk upstreamFlorian Klink1-4/+4
Looks like the develop branch at least has everything that's needed. Change-Id: Ic25d571f4e6fe2a45f8f11f917622fe50a39ce07 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10690 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2024-01-25 r/7449 feat(tvix/eval/tests): compare .xml outputsFlorian Klink4-20/+29
In case a .exp.xml file is provided alongside the test, compare its output with the desired state. Also, add some function .exp.xml that were presumably moved out of the way back to src/tests/nix_tests, as they now produce the correct XML output. Change-Id: Ibd8123f3e6ed7bae3a44407d2284a2b2c8ce9a28 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10687 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2024-01-25 r/7448 feat(tvix/eval): track pattern binding namesFlorian Klink5-5/+24
These need to be preserved at least for builtins.toXML. Also, we incorrectly only wrote an <attrspat> in case ellipsis was true, but that's not the case. Change-Id: I6bff9c47c2922f878d5c43e48280cda9c9ddb692 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10686 Tested-by: BuildkiteCI Autosubmit: flokli <flokli@flokli.de> Reviewed-by: aspen <root@gws.fyi>
2024-01-24 r/7447 fix(tvix/eval/value/function): use BTreeMap for function arg namesFlorian Klink2-5/+5
At least toXML wants to get these out in a sorted fashion. Change-Id: I6373d7488fff7c40dc2ddeeecd03ba537c92c4af Reviewed-on: https://cl.tvl.fyi/c/depot/+/10685 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-01-24 r/7446 feat(tvix/eval): expose value_to_xml for test casesFlorian Klink2-1/+4
It's debateable on whether the serialization code should be exposed a bit more prominently or not. Change-Id: Iff7a28f884b1490b12b145dfdadbedacb84fd387 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10684 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <tazjin@tvl.su>
2024-01-24 r/7445 fix(tvix/eval/tests): fix eval-okay-getenvFlorian Klink3-0/+2
This relies on TEST_VAR=foo being set to "foo". Nix does this in tests/functional/lang.sh, we do it in the test suite. Change-Id: I7ffa9ed27124530b7758aeadf07c79477656f34f Reviewed-on: https://cl.tvl.fyi/c/depot/+/10683 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2024-01-24 Use '=' instead of 'eq' to compare numbers.Steven Allen2-2/+3
* exwm.el (exwm--update-desktop): * exwm-layout.el (exwm-layout--hide): Use `=` instead of `eq` for numeric comparison.