From 3cc7c7be75c510a8448bfd17a2b388c0bbbd74a7 Mon Sep 17 00:00:00 2001 From: imxyy_soope_ Date: Tue, 17 Feb 2026 10:41:08 +0800 Subject: [PATCH] chore: update deps; restructure tests; use Map over Record --- Cargo.lock | 65 +++++++++--------- nix-js/Cargo.toml | 2 +- nix-js/runtime-ts/src/builtins/attrs.ts | 8 +-- nix-js/runtime-ts/src/builtins/misc.ts | 2 +- nix-js/runtime-ts/src/helpers.ts | 4 +- nix-js/runtime-ts/src/index.ts | 6 +- nix-js/runtime-ts/src/print.ts | 4 +- nix-js/runtime-ts/src/types.ts | 8 +-- nix-js/src/downgrade.rs | 11 +-- nix-js/src/main.rs | 10 ++- nix-js/src/runtime.rs | 11 ++- nix-js/tests/{ => tests}/basic_eval.rs | 6 +- nix-js/tests/{ => tests}/builtins.rs | 7 +- nix-js/tests/{ => tests}/builtins_store.rs | 4 +- nix-js/tests/{ => tests}/derivation.rs | 4 +- nix-js/tests/{ => tests}/findfile.rs | 4 +- nix-js/tests/{ => tests}/free_globals.rs | 6 +- nix-js/tests/{ => tests}/functions.rs | 4 +- nix-js/tests/{ => tests}/io_operations.rs | 5 +- nix-js/tests/{ => tests}/lang.rs | 5 +- nix-js/tests/{ => tests}/lang/binary-data | Bin nix-js/tests/{ => tests}/lang/data | 0 nix-js/tests/{ => tests}/lang/dir1/a.nix | 0 nix-js/tests/{ => tests}/lang/dir2/a.nix | 0 nix-js/tests/{ => tests}/lang/dir2/b.nix | 0 nix-js/tests/{ => tests}/lang/dir3/a.nix | 0 nix-js/tests/{ => tests}/lang/dir3/b.nix | 0 nix-js/tests/{ => tests}/lang/dir3/c.nix | 0 nix-js/tests/{ => tests}/lang/dir4/a.nix | 0 nix-js/tests/{ => tests}/lang/dir4/c.nix | 0 .../{ => tests}/lang/eval-fail-abort.err.exp | 0 .../{ => tests}/lang/eval-fail-abort.nix | 0 ...rvOutputDependencies-empty-context.err.exp | 0 ...addDrvOutputDependencies-empty-context.nix | 0 ...putDependencies-multi-elem-context.err.exp | 0 ...vOutputDependencies-multi-elem-context.nix | 0 ...putDependencies-wrong-element-kind.err.exp | 0 ...vOutputDependencies-wrong-element-kind.nix | 0 .../eval-fail-addErrorContext-example.err.exp | 0 .../eval-fail-addErrorContext-example.nix | 0 ...al-fail-assert-equal-attrs-names-2.err.exp | 0 .../eval-fail-assert-equal-attrs-names-2.nix | 0 ...eval-fail-assert-equal-attrs-names.err.exp | 0 .../eval-fail-assert-equal-attrs-names.nix | 0 ...ail-assert-equal-derivations-extra.err.exp | 0 ...al-fail-assert-equal-derivations-extra.nix | 0 ...eval-fail-assert-equal-derivations.err.exp | 0 .../eval-fail-assert-equal-derivations.nix | 0 .../eval-fail-assert-equal-floats.err.exp | 0 .../lang/eval-fail-assert-equal-floats.nix | 0 ...-fail-assert-equal-function-direct.err.exp | 0 ...eval-fail-assert-equal-function-direct.nix | 0 .../eval-fail-assert-equal-int-float.err.exp | 0 .../lang/eval-fail-assert-equal-int-float.nix | 0 .../lang/eval-fail-assert-equal-ints.err.exp | 0 .../lang/eval-fail-assert-equal-ints.nix | 0 ...eval-fail-assert-equal-list-length.err.exp | 0 .../eval-fail-assert-equal-list-length.nix | 0 .../lang/eval-fail-assert-equal-paths.err.exp | 0 .../lang/eval-fail-assert-equal-paths.nix | 0 ...eval-fail-assert-equal-type-nested.err.exp | 0 .../eval-fail-assert-equal-type-nested.nix | 0 .../lang/eval-fail-assert-equal-type.err.exp | 0 .../lang/eval-fail-assert-equal-type.nix | 0 .../lang/eval-fail-assert-nested-bool.err.exp | 0 .../lang/eval-fail-assert-nested-bool.nix | 0 .../{ => tests}/lang/eval-fail-assert.err.exp | 0 .../{ => tests}/lang/eval-fail-assert.nix | 0 .../lang/eval-fail-attr-name-type.err.exp | 0 .../lang/eval-fail-attr-name-type.nix | 0 ...fail-attrset-merge-drops-later-rec.err.exp | 0 ...val-fail-attrset-merge-drops-later-rec.nix | 0 ...al-fail-bad-string-interpolation-1.err.exp | 0 .../eval-fail-bad-string-interpolation-1.nix | 0 ...al-fail-bad-string-interpolation-2.err.exp | 0 .../eval-fail-bad-string-interpolation-2.nix | 0 ...al-fail-bad-string-interpolation-3.err.exp | 0 .../eval-fail-bad-string-interpolation-3.nix | 0 ...al-fail-bad-string-interpolation-4.err.exp | 0 .../eval-fail-bad-string-interpolation-4.nix | 0 .../lang/eval-fail-blackhole.err.exp | 0 .../{ => tests}/lang/eval-fail-blackhole.nix | 0 .../lang/eval-fail-call-primop.err.exp | 0 .../lang/eval-fail-call-primop.nix | 0 .../lang/eval-fail-deepseq.err.exp | 0 .../{ => tests}/lang/eval-fail-deepseq.nix | 0 .../lang/eval-fail-derivation-name.err.exp | 0 .../lang/eval-fail-derivation-name.nix | 0 .../lang/eval-fail-dup-dynamic-attrs.err.exp | 0 .../lang/eval-fail-dup-dynamic-attrs.nix | 0 .../lang/eval-fail-duplicate-traces.err.exp | 0 .../lang/eval-fail-duplicate-traces.nix | 0 .../{ => tests}/lang/eval-fail-eol-1.err.exp | 0 .../{ => tests}/lang/eval-fail-eol-1.nix | 0 .../{ => tests}/lang/eval-fail-eol-2.err.exp | 0 .../{ => tests}/lang/eval-fail-eol-2.nix | 0 .../{ => tests}/lang/eval-fail-eol-3.err.exp | 0 .../{ => tests}/lang/eval-fail-eol-3.nix | 0 .../lang/eval-fail-fetchTree-negative.err.exp | 0 .../lang/eval-fail-fetchTree-negative.nix | 0 ...-fail-fetchurl-baseName-attrs-name.err.exp | 0 ...eval-fail-fetchurl-baseName-attrs-name.nix | 0 .../eval-fail-fetchurl-baseName-attrs.err.exp | 0 .../eval-fail-fetchurl-baseName-attrs.nix | 0 .../lang/eval-fail-fetchurl-baseName.err.exp | 0 .../lang/eval-fail-fetchurl-baseName.nix | 0 ...ake-ref-to-string-negative-integer.err.exp | 0 ...l-flake-ref-to-string-negative-integer.nix | 0 ...-foldlStrict-strict-op-application.err.exp | 0 ...fail-foldlStrict-strict-op-application.nix | 0 ...eval-fail-fromJSON-keyWithNullByte.err.exp | 0 .../eval-fail-fromJSON-keyWithNullByte.nix | 0 .../eval-fail-fromJSON-overflowing.err.exp | 0 .../lang/eval-fail-fromJSON-overflowing.nix | 0 ...al-fail-fromJSON-valueWithNullByte.err.exp | 0 .../eval-fail-fromJSON-valueWithNullByte.nix | 0 ...eval-fail-fromTOML-keyWithNullByte.err.exp | 0 .../eval-fail-fromTOML-keyWithNullByte.nix | 0 .../eval-fail-fromTOML-timestamps.err.exp | 0 .../lang/eval-fail-fromTOML-timestamps.nix | 0 ...al-fail-fromTOML-valueWithNullByte.err.exp | 0 .../eval-fail-fromTOML-valueWithNullByte.nix | 0 .../lang/eval-fail-hashfile-missing.err.exp | 0 .../lang/eval-fail-hashfile-missing.nix | 0 ...val-fail-infinite-recursion-lambda.err.exp | 0 .../eval-fail-infinite-recursion-lambda.nix | 0 .../{ => tests}/lang/eval-fail-list.err.exp | 0 .../tests/{ => tests}/lang/eval-fail-list.nix | 0 .../lang/eval-fail-missing-arg.err.exp | 0 .../lang/eval-fail-missing-arg.nix | 0 .../lang/eval-fail-mutual-recursion.err.exp | 0 .../lang/eval-fail-mutual-recursion.nix | 0 .../lang/eval-fail-nested-list-items.err.exp | 0 .../lang/eval-fail-nested-list-items.nix | 0 .../lang/eval-fail-nonexist-path.err.exp | 0 .../lang/eval-fail-nonexist-path.nix | 0 .../lang/eval-fail-not-throws.err.exp | 0 .../{ => tests}/lang/eval-fail-not-throws.nix | 0 .../lang/eval-fail-overflowing-add.err.exp | 0 .../lang/eval-fail-overflowing-add.nix | 0 .../lang/eval-fail-overflowing-div.err.exp | 0 .../lang/eval-fail-overflowing-div.nix | 0 .../lang/eval-fail-overflowing-mul.err.exp | 0 .../lang/eval-fail-overflowing-mul.nix | 0 .../lang/eval-fail-overflowing-sub.err.exp | 0 .../lang/eval-fail-overflowing-sub.nix | 0 .../lang/eval-fail-path-slash.err.exp | 0 .../{ => tests}/lang/eval-fail-path-slash.nix | 0 .../lang/eval-fail-pipe-operators.err.exp | 0 .../lang/eval-fail-pipe-operators.nix | 0 .../lang/eval-fail-recursion.err.exp | 0 .../{ => tests}/lang/eval-fail-recursion.nix | 0 .../{ => tests}/lang/eval-fail-remove.err.exp | 0 .../{ => tests}/lang/eval-fail-remove.nix | 0 .../lang/eval-fail-scope-5.err.exp | 0 .../{ => tests}/lang/eval-fail-scope-5.nix | 0 .../{ => tests}/lang/eval-fail-seq.err.exp | 0 .../tests/{ => tests}/lang/eval-fail-seq.nix | 0 .../lang/eval-fail-set-override.err.exp | 0 .../lang/eval-fail-set-override.nix | 0 .../{ => tests}/lang/eval-fail-set.err.exp | 0 .../tests/{ => tests}/lang/eval-fail-set.nix | 0 .../lang/eval-fail-string-nul-1.err.exp | Bin .../lang/eval-fail-string-nul-1.nix | Bin .../lang/eval-fail-string-nul-2.err.exp | Bin .../lang/eval-fail-string-nul-2.nix | Bin .../lang/eval-fail-substring.err.exp | 0 .../{ => tests}/lang/eval-fail-substring.nix | 0 .../lang/eval-fail-to-path.err.exp | 0 .../{ => tests}/lang/eval-fail-to-path.nix | 0 .../lang/eval-fail-toJSON-non-utf-8.err.exp | 0 .../lang/eval-fail-toJSON-non-utf-8.nix | 0 .../{ => tests}/lang/eval-fail-toJSON.err.exp | 0 .../{ => tests}/lang/eval-fail-toJSON.nix | 0 .../lang/eval-fail-undeclared-arg.err.exp | 0 .../lang/eval-fail-undeclared-arg.nix | 0 .../eval-fail-using-set-as-attr-name.err.exp | 0 .../lang/eval-fail-using-set-as-attr-name.nix | 0 .../{ => tests}/lang/eval-okay-any-all.exp | 0 .../{ => tests}/lang/eval-okay-any-all.nix | 0 .../{ => tests}/lang/eval-okay-arithmetic.exp | 0 .../{ => tests}/lang/eval-okay-arithmetic.nix | 0 .../{ => tests}/lang/eval-okay-attrnames.exp | 0 .../{ => tests}/lang/eval-okay-attrnames.nix | 0 .../{ => tests}/lang/eval-okay-attrs.exp | 0 .../{ => tests}/lang/eval-okay-attrs.nix | 0 .../{ => tests}/lang/eval-okay-attrs2.exp | 0 .../{ => tests}/lang/eval-okay-attrs2.nix | 0 .../{ => tests}/lang/eval-okay-attrs3.exp | 0 .../{ => tests}/lang/eval-okay-attrs3.nix | 0 .../{ => tests}/lang/eval-okay-attrs4.exp | 0 .../{ => tests}/lang/eval-okay-attrs4.nix | 0 .../{ => tests}/lang/eval-okay-attrs5.exp | 0 .../{ => tests}/lang/eval-okay-attrs5.nix | 0 .../{ => tests}/lang/eval-okay-attrs6.exp | 0 .../{ => tests}/lang/eval-okay-attrs6.nix | 0 .../{ => tests}/lang/eval-okay-autoargs.exp | 0 .../{ => tests}/lang/eval-okay-autoargs.nix | 0 .../lang/eval-okay-backslash-newline-1.exp | 0 .../lang/eval-okay-backslash-newline-1.nix | 0 .../lang/eval-okay-backslash-newline-2.exp | 0 .../lang/eval-okay-backslash-newline-2.nix | 0 .../{ => tests}/lang/eval-okay-baseNameOf.exp | 0 .../{ => tests}/lang/eval-okay-baseNameOf.nix | 0 .../lang/eval-okay-builtins-add.exp | 0 .../lang/eval-okay-builtins-add.nix | 0 .../{ => tests}/lang/eval-okay-builtins.exp | 0 .../{ => tests}/lang/eval-okay-builtins.nix | 0 .../lang/eval-okay-callable-attrs.exp | 0 .../lang/eval-okay-callable-attrs.nix | 0 .../{ => tests}/lang/eval-okay-catattrs.exp | 0 .../{ => tests}/lang/eval-okay-catattrs.nix | 0 .../{ => tests}/lang/eval-okay-closure.exp | 0 .../{ => tests}/lang/eval-okay-closure.nix | 0 .../{ => tests}/lang/eval-okay-comments.exp | 0 .../{ => tests}/lang/eval-okay-comments.nix | 0 .../{ => tests}/lang/eval-okay-concat.exp | 0 .../{ => tests}/lang/eval-okay-concat.nix | 0 .../{ => tests}/lang/eval-okay-concatmap.exp | 0 .../{ => tests}/lang/eval-okay-concatmap.nix | 0 .../lang/eval-okay-concatstringssep.exp | 0 .../lang/eval-okay-concatstringssep.nix | 0 .../lang/eval-okay-context-introspection.exp | 0 .../lang/eval-okay-context-introspection.nix | 0 .../{ => tests}/lang/eval-okay-context.exp | 0 .../{ => tests}/lang/eval-okay-context.nix | 0 .../lang/eval-okay-convertHash.err.exp | 0 .../lang/eval-okay-convertHash.exp | 0 .../lang/eval-okay-convertHash.nix | 0 .../{ => tests}/lang/eval-okay-curpos.exp | 0 .../{ => tests}/lang/eval-okay-curpos.nix | 0 .../{ => tests}/lang/eval-okay-deepseq.exp | 0 .../{ => tests}/lang/eval-okay-deepseq.nix | 0 .../lang/eval-okay-delayed-with-inherit.exp | 0 .../lang/eval-okay-delayed-with-inherit.nix | 0 .../lang/eval-okay-delayed-with.exp | 0 .../lang/eval-okay-delayed-with.nix | 0 .../eval-okay-deprecate-cursed-or.err.exp | 0 .../lang/eval-okay-deprecate-cursed-or.exp | 0 .../lang/eval-okay-deprecate-cursed-or.nix | 0 .../lang/eval-okay-derivation-legacy.err.exp | 0 .../lang/eval-okay-derivation-legacy.exp | 0 .../lang/eval-okay-derivation-legacy.nix | 0 .../lang/eval-okay-dynamic-attrs-2.exp | 0 .../lang/eval-okay-dynamic-attrs-2.nix | 0 .../lang/eval-okay-dynamic-attrs-bare.exp | 0 .../lang/eval-okay-dynamic-attrs-bare.nix | 0 .../lang/eval-okay-dynamic-attrs.exp | 0 .../lang/eval-okay-dynamic-attrs.nix | 0 .../tests/{ => tests}/lang/eval-okay-elem.exp | 0 .../tests/{ => tests}/lang/eval-okay-elem.nix | 0 .../{ => tests}/lang/eval-okay-empty-args.exp | 0 .../{ => tests}/lang/eval-okay-empty-args.nix | 0 .../lang/eval-okay-eq-derivations.exp | 0 .../lang/eval-okay-eq-derivations.nix | 0 .../tests/{ => tests}/lang/eval-okay-eq.exp | 0 .../tests/{ => tests}/lang/eval-okay-eq.nix | 0 .../{ => tests}/lang/eval-okay-filter.exp | 0 .../{ => tests}/lang/eval-okay-filter.nix | 0 .../lang/eval-okay-flake-ref-to-string.exp | 0 .../lang/eval-okay-flake-ref-to-string.nix | 0 .../{ => tests}/lang/eval-okay-flatten.exp | 0 .../{ => tests}/lang/eval-okay-flatten.nix | 0 .../{ => tests}/lang/eval-okay-float.exp | 0 .../{ => tests}/lang/eval-okay-float.nix | 0 .../{ => tests}/lang/eval-okay-floor-ceil.exp | 0 .../{ => tests}/lang/eval-okay-floor-ceil.nix | 0 .../eval-okay-foldlStrict-lazy-elements.exp | 0 .../eval-okay-foldlStrict-lazy-elements.nix | 0 ...y-foldlStrict-lazy-initial-accumulator.exp | 0 ...y-foldlStrict-lazy-initial-accumulator.nix | 0 .../lang/eval-okay-foldlStrict.exp | 0 .../lang/eval-okay-foldlStrict.nix | 0 .../lang/eval-okay-fromTOML-timestamps.exp | 0 .../lang/eval-okay-fromTOML-timestamps.nix | 0 .../{ => tests}/lang/eval-okay-fromTOML.exp | 0 .../{ => tests}/lang/eval-okay-fromTOML.nix | 0 .../lang/eval-okay-fromjson-escapes.exp | 0 .../lang/eval-okay-fromjson-escapes.nix | 0 .../{ => tests}/lang/eval-okay-fromjson.exp | 0 .../{ => tests}/lang/eval-okay-fromjson.nix | 0 .../lang/eval-okay-functionargs.exp | 0 .../lang/eval-okay-functionargs.nix | 0 .../eval-okay-getattrpos-functionargs.exp | 0 .../eval-okay-getattrpos-functionargs.nix | 0 .../lang/eval-okay-getattrpos-undefined.exp | 0 .../lang/eval-okay-getattrpos-undefined.nix | 0 .../{ => tests}/lang/eval-okay-getattrpos.exp | 0 .../{ => tests}/lang/eval-okay-getattrpos.nix | 0 .../{ => tests}/lang/eval-okay-getenv.exp | 0 .../{ => tests}/lang/eval-okay-getenv.nix | 0 .../{ => tests}/lang/eval-okay-groupBy.exp | 0 .../{ => tests}/lang/eval-okay-groupBy.nix | 0 .../tests/{ => tests}/lang/eval-okay-hash.exp | 0 .../{ => tests}/lang/eval-okay-hashfile.exp | 0 .../{ => tests}/lang/eval-okay-hashfile.nix | 0 .../{ => tests}/lang/eval-okay-hashstring.exp | 0 .../{ => tests}/lang/eval-okay-hashstring.nix | 0 .../tests/{ => tests}/lang/eval-okay-if.exp | 0 .../tests/{ => tests}/lang/eval-okay-if.nix | 0 .../{ => tests}/lang/eval-okay-import.exp | 0 .../{ => tests}/lang/eval-okay-import.nix | 0 .../{ => tests}/lang/eval-okay-ind-string.exp | 0 .../{ => tests}/lang/eval-okay-ind-string.nix | 0 .../lang/eval-okay-inherit-attr-pos.exp | 0 .../lang/eval-okay-inherit-attr-pos.nix | 0 .../lang/eval-okay-inherit-from.err.exp | 0 .../lang/eval-okay-inherit-from.exp | 0 .../lang/eval-okay-inherit-from.nix | 0 .../lang/eval-okay-intersectAttrs.exp | 0 .../lang/eval-okay-intersectAttrs.nix | 0 .../tests/{ => tests}/lang/eval-okay-let.exp | 0 .../tests/{ => tests}/lang/eval-okay-let.nix | 0 .../tests/{ => tests}/lang/eval-okay-list.exp | 0 .../tests/{ => tests}/lang/eval-okay-list.nix | 0 .../lang/eval-okay-listtoattrs.exp | 0 .../lang/eval-okay-listtoattrs.nix | 0 .../{ => tests}/lang/eval-okay-logic.exp | 0 .../{ => tests}/lang/eval-okay-logic.nix | 0 .../tests/{ => tests}/lang/eval-okay-map.exp | 0 .../tests/{ => tests}/lang/eval-okay-map.nix | 0 .../{ => tests}/lang/eval-okay-mapattrs.exp | 0 .../{ => tests}/lang/eval-okay-mapattrs.nix | 0 .../lang/eval-okay-merge-dynamic-attrs.exp | 0 .../lang/eval-okay-merge-dynamic-attrs.nix | 0 .../lang/eval-okay-nested-with.exp | 0 .../lang/eval-okay-nested-with.nix | 0 .../{ => tests}/lang/eval-okay-new-let.exp | 0 .../{ => tests}/lang/eval-okay-new-let.nix | 0 .../lang/eval-okay-null-dynamic-attrs.exp | 0 .../lang/eval-okay-null-dynamic-attrs.nix | 0 .../{ => tests}/lang/eval-okay-overrides.exp | 0 .../{ => tests}/lang/eval-okay-overrides.nix | 0 .../lang/eval-okay-parse-flake-ref.exp | 0 .../lang/eval-okay-parse-flake-ref.nix | 0 .../{ => tests}/lang/eval-okay-partition.exp | 0 .../{ => tests}/lang/eval-okay-partition.nix | 0 .../eval-okay-path-string-interpolation.exp | 0 .../eval-okay-path-string-interpolation.nix | 0 .../tests/{ => tests}/lang/eval-okay-path.exp | 0 .../tests/{ => tests}/lang/eval-okay-path.nix | 0 .../{ => tests}/lang/eval-okay-pathexists.exp | 0 .../{ => tests}/lang/eval-okay-pathexists.nix | 0 .../{ => tests}/lang/eval-okay-patterns.exp | 0 .../{ => tests}/lang/eval-okay-patterns.nix | 0 .../{ => tests}/lang/eval-okay-print.err.exp | 0 .../{ => tests}/lang/eval-okay-print.exp | 0 .../{ => tests}/lang/eval-okay-print.nix | 0 .../{ => tests}/lang/eval-okay-readDir.exp | 0 .../{ => tests}/lang/eval-okay-readDir.nix | 0 .../lang/eval-okay-readFileType.exp | 0 .../lang/eval-okay-readFileType.nix | 0 .../{ => tests}/lang/eval-okay-readfile.exp | 0 .../{ => tests}/lang/eval-okay-readfile.nix | 0 .../lang/eval-okay-redefine-builtin.exp | 0 .../lang/eval-okay-redefine-builtin.nix | 0 .../lang/eval-okay-regex-match.exp | 0 .../lang/eval-okay-regex-match.nix | 0 .../lang/eval-okay-regex-split.exp | 0 .../lang/eval-okay-regex-split.nix | 0 .../lang/eval-okay-regression-20220122.exp | 0 .../lang/eval-okay-regression-20220122.nix | 0 .../lang/eval-okay-regression-20220125.exp | 0 .../lang/eval-okay-regression-20220125.nix | 0 ...val-okay-regrettable-rec-attrset-merge.exp | 0 ...val-okay-regrettable-rec-attrset-merge.nix | 0 .../{ => tests}/lang/eval-okay-remove.exp | 0 .../{ => tests}/lang/eval-okay-remove.nix | 0 .../lang/eval-okay-repeated-empty-attrs.exp | 0 .../lang/eval-okay-repeated-empty-attrs.nix | 0 .../lang/eval-okay-repeated-empty-list.exp | 0 .../lang/eval-okay-repeated-empty-list.nix | 0 .../lang/eval-okay-replacestrings.exp | 0 .../lang/eval-okay-replacestrings.nix | 0 .../{ => tests}/lang/eval-okay-scope-1.exp | 0 .../{ => tests}/lang/eval-okay-scope-1.nix | 0 .../{ => tests}/lang/eval-okay-scope-2.exp | 0 .../{ => tests}/lang/eval-okay-scope-2.nix | 0 .../{ => tests}/lang/eval-okay-scope-3.exp | 0 .../{ => tests}/lang/eval-okay-scope-3.nix | 0 .../{ => tests}/lang/eval-okay-scope-4.exp | 0 .../{ => tests}/lang/eval-okay-scope-4.nix | 0 .../{ => tests}/lang/eval-okay-scope-6.exp | 0 .../{ => tests}/lang/eval-okay-scope-6.nix | 0 .../{ => tests}/lang/eval-okay-scope-7.exp | 0 .../{ => tests}/lang/eval-okay-scope-7.nix | 0 .../lang/eval-okay-search-path.exp | 0 .../lang/eval-okay-search-path.nix | 0 .../tests/{ => tests}/lang/eval-okay-seq.exp | 0 .../tests/{ => tests}/lang/eval-okay-seq.nix | 0 .../tests/{ => tests}/lang/eval-okay-sort.exp | 0 .../tests/{ => tests}/lang/eval-okay-sort.nix | 0 .../lang/eval-okay-splitversion.exp | 0 .../lang/eval-okay-splitversion.nix | 0 .../{ => tests}/lang/eval-okay-string.exp | 0 .../{ => tests}/lang/eval-okay-string.nix | 0 .../lang/eval-okay-strings-as-attrs-names.exp | 0 .../lang/eval-okay-strings-as-attrs-names.nix | 0 .../lang/eval-okay-substring-context.exp | 0 .../lang/eval-okay-substring-context.nix | 0 .../{ => tests}/lang/eval-okay-substring.exp | 0 .../{ => tests}/lang/eval-okay-substring.nix | 0 .../lang/eval-okay-symlink-resolution.exp | 0 .../lang/eval-okay-symlink-resolution.nix | 0 .../lang/eval-okay-tail-call-1.nix | 0 .../{ => tests}/lang/eval-okay-tojson.exp | 0 .../{ => tests}/lang/eval-okay-tojson.nix | 0 .../{ => tests}/lang/eval-okay-toxml.exp | 0 .../{ => tests}/lang/eval-okay-toxml.nix | 0 .../{ => tests}/lang/eval-okay-toxml2.exp | 0 .../{ => tests}/lang/eval-okay-toxml2.nix | 0 .../{ => tests}/lang/eval-okay-tryeval.exp | 0 .../{ => tests}/lang/eval-okay-tryeval.nix | 0 .../{ => tests}/lang/eval-okay-types.exp | 0 .../{ => tests}/lang/eval-okay-types.nix | 0 .../{ => tests}/lang/eval-okay-versions.exp | 0 .../{ => tests}/lang/eval-okay-versions.nix | 0 .../tests/{ => tests}/lang/eval-okay-with.exp | 0 .../tests/{ => tests}/lang/eval-okay-with.nix | 0 .../tests/{ => tests}/lang/eval-okay-xml.exp | 0 .../tests/{ => tests}/lang/eval-okay-xml.nix | 0 .../lang/eval-okay-zipAttrsWith.exp | 0 .../lang/eval-okay-zipAttrsWith.nix | 0 nix-js/tests/{ => tests}/lang/imported.nix | 0 nix-js/tests/{ => tests}/lang/imported2.nix | 0 nix-js/tests/{ => tests}/lang/lib.nix | 0 nix-js/tests/{ => tests}/lang/readDir/bar | 0 .../lang/readDir/foo/git-hates-directories | 0 nix-js/tests/{ => tests}/lang/readDir/ldir | 0 nix-js/tests/{ => tests}/lang/readDir/linked | 0 .../lang/symlink-resolution/broken | 0 .../symlink-resolution/foo/lib/default.nix | 0 .../lang/symlink-resolution/foo/overlays | 0 .../symlink-resolution/overlays/overlay.nix | 0 nix-js/tests/tests/lang/utils | 1 + nix-js/tests/tests/main.rs | 17 +++++ nix-js/tests/{ => tests}/numeric_types.rs | 4 +- nix-js/tests/{ => tests}/operators.rs | 4 +- nix-js/tests/{ => tests}/path_operations.rs | 4 +- nix-js/tests/{ => tests}/regex.rs | 4 +- nix-js/tests/{ => tests}/string_context.rs | 4 +- nix-js/tests/{ => tests}/thunk_scope.rs | 4 +- nix-js/tests/{ => tests}/to_string.rs | 12 ++-- nix-js/tests/{ => tests}/utils.rs | 0 typos.toml | 2 +- 445 files changed, 107 insertions(+), 125 deletions(-) rename nix-js/tests/{ => tests}/basic_eval.rs (95%) rename nix-js/tests/{ => tests}/builtins.rs (99%) rename nix-js/tests/{ => tests}/builtins_store.rs (99%) rename nix-js/tests/{ => tests}/derivation.rs (99%) rename nix-js/tests/{ => tests}/findfile.rs (96%) rename nix-js/tests/{ => tests}/free_globals.rs (93%) rename nix-js/tests/{ => tests}/functions.rs (98%) rename nix-js/tests/{ => tests}/io_operations.rs (99%) rename nix-js/tests/{ => tests}/lang.rs (98%) rename nix-js/tests/{ => tests}/lang/binary-data (100%) rename nix-js/tests/{ => tests}/lang/data (100%) rename nix-js/tests/{ => tests}/lang/dir1/a.nix (100%) rename nix-js/tests/{ => tests}/lang/dir2/a.nix (100%) rename nix-js/tests/{ => tests}/lang/dir2/b.nix (100%) rename nix-js/tests/{ => tests}/lang/dir3/a.nix (100%) rename nix-js/tests/{ => tests}/lang/dir3/b.nix (100%) rename nix-js/tests/{ => tests}/lang/dir3/c.nix (100%) rename nix-js/tests/{ => tests}/lang/dir4/a.nix (100%) rename nix-js/tests/{ => tests}/lang/dir4/c.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-abort.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-abort.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-addDrvOutputDependencies-empty-context.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-addDrvOutputDependencies-empty-context.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-addDrvOutputDependencies-multi-elem-context.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-addDrvOutputDependencies-multi-elem-context.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-addDrvOutputDependencies-wrong-element-kind.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-addDrvOutputDependencies-wrong-element-kind.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-addErrorContext-example.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-addErrorContext-example.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-attrs-names-2.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-attrs-names-2.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-attrs-names.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-attrs-names.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-derivations-extra.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-derivations-extra.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-derivations.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-derivations.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-floats.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-floats.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-function-direct.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-function-direct.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-int-float.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-int-float.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-ints.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-ints.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-list-length.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-list-length.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-paths.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-paths.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-type-nested.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-type-nested.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-type.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-equal-type.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-nested-bool.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert-nested-bool.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-assert.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-attr-name-type.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-attr-name-type.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-attrset-merge-drops-later-rec.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-attrset-merge-drops-later-rec.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-bad-string-interpolation-1.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-bad-string-interpolation-1.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-bad-string-interpolation-2.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-bad-string-interpolation-2.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-bad-string-interpolation-3.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-bad-string-interpolation-3.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-bad-string-interpolation-4.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-bad-string-interpolation-4.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-blackhole.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-blackhole.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-call-primop.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-call-primop.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-deepseq.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-deepseq.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-derivation-name.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-derivation-name.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-dup-dynamic-attrs.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-dup-dynamic-attrs.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-duplicate-traces.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-duplicate-traces.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-eol-1.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-eol-1.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-eol-2.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-eol-2.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-eol-3.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-eol-3.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-fetchTree-negative.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-fetchTree-negative.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-fetchurl-baseName-attrs-name.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-fetchurl-baseName-attrs-name.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-fetchurl-baseName-attrs.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-fetchurl-baseName-attrs.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-fetchurl-baseName.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-fetchurl-baseName.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-flake-ref-to-string-negative-integer.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-flake-ref-to-string-negative-integer.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-foldlStrict-strict-op-application.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-foldlStrict-strict-op-application.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-fromJSON-keyWithNullByte.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-fromJSON-keyWithNullByte.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-fromJSON-overflowing.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-fromJSON-overflowing.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-fromJSON-valueWithNullByte.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-fromJSON-valueWithNullByte.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-fromTOML-keyWithNullByte.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-fromTOML-keyWithNullByte.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-fromTOML-timestamps.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-fromTOML-timestamps.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-fromTOML-valueWithNullByte.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-fromTOML-valueWithNullByte.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-hashfile-missing.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-hashfile-missing.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-infinite-recursion-lambda.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-infinite-recursion-lambda.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-list.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-list.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-missing-arg.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-missing-arg.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-mutual-recursion.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-mutual-recursion.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-nested-list-items.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-nested-list-items.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-nonexist-path.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-nonexist-path.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-not-throws.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-not-throws.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-overflowing-add.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-overflowing-add.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-overflowing-div.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-overflowing-div.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-overflowing-mul.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-overflowing-mul.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-overflowing-sub.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-overflowing-sub.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-path-slash.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-path-slash.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-pipe-operators.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-pipe-operators.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-recursion.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-recursion.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-remove.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-remove.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-scope-5.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-scope-5.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-seq.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-seq.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-set-override.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-set-override.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-set.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-set.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-string-nul-1.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-string-nul-1.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-string-nul-2.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-string-nul-2.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-substring.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-substring.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-to-path.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-to-path.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-toJSON-non-utf-8.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-toJSON-non-utf-8.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-toJSON.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-toJSON.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-undeclared-arg.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-undeclared-arg.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-using-set-as-attr-name.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-fail-using-set-as-attr-name.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-any-all.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-any-all.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-arithmetic.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-arithmetic.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-attrnames.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-attrnames.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-attrs.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-attrs.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-attrs2.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-attrs2.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-attrs3.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-attrs3.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-attrs4.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-attrs4.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-attrs5.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-attrs5.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-attrs6.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-attrs6.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-autoargs.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-autoargs.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-backslash-newline-1.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-backslash-newline-1.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-backslash-newline-2.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-backslash-newline-2.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-baseNameOf.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-baseNameOf.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-builtins-add.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-builtins-add.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-builtins.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-builtins.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-callable-attrs.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-callable-attrs.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-catattrs.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-catattrs.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-closure.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-closure.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-comments.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-comments.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-concat.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-concat.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-concatmap.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-concatmap.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-concatstringssep.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-concatstringssep.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-context-introspection.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-context-introspection.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-context.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-context.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-convertHash.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-convertHash.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-convertHash.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-curpos.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-curpos.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-deepseq.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-deepseq.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-delayed-with-inherit.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-delayed-with-inherit.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-delayed-with.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-delayed-with.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-deprecate-cursed-or.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-deprecate-cursed-or.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-deprecate-cursed-or.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-derivation-legacy.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-derivation-legacy.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-derivation-legacy.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-dynamic-attrs-2.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-dynamic-attrs-2.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-dynamic-attrs-bare.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-dynamic-attrs-bare.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-dynamic-attrs.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-dynamic-attrs.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-elem.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-elem.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-empty-args.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-empty-args.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-eq-derivations.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-eq-derivations.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-eq.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-eq.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-filter.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-filter.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-flake-ref-to-string.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-flake-ref-to-string.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-flatten.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-flatten.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-float.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-float.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-floor-ceil.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-floor-ceil.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-foldlStrict-lazy-elements.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-foldlStrict-lazy-elements.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-foldlStrict-lazy-initial-accumulator.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-foldlStrict-lazy-initial-accumulator.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-foldlStrict.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-foldlStrict.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-fromTOML-timestamps.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-fromTOML-timestamps.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-fromTOML.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-fromTOML.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-fromjson-escapes.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-fromjson-escapes.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-fromjson.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-fromjson.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-functionargs.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-functionargs.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-getattrpos-functionargs.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-getattrpos-functionargs.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-getattrpos-undefined.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-getattrpos-undefined.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-getattrpos.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-getattrpos.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-getenv.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-getenv.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-groupBy.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-groupBy.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-hash.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-hashfile.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-hashfile.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-hashstring.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-hashstring.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-if.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-if.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-import.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-import.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-ind-string.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-ind-string.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-inherit-attr-pos.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-inherit-attr-pos.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-inherit-from.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-inherit-from.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-inherit-from.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-intersectAttrs.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-intersectAttrs.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-let.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-let.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-list.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-list.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-listtoattrs.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-listtoattrs.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-logic.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-logic.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-map.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-map.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-mapattrs.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-mapattrs.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-merge-dynamic-attrs.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-merge-dynamic-attrs.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-nested-with.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-nested-with.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-new-let.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-new-let.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-null-dynamic-attrs.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-null-dynamic-attrs.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-overrides.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-overrides.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-parse-flake-ref.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-parse-flake-ref.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-partition.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-partition.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-path-string-interpolation.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-path-string-interpolation.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-path.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-path.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-pathexists.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-pathexists.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-patterns.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-patterns.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-print.err.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-print.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-print.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-readDir.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-readDir.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-readFileType.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-readFileType.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-readfile.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-readfile.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-redefine-builtin.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-redefine-builtin.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-regex-match.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-regex-match.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-regex-split.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-regex-split.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-regression-20220122.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-regression-20220122.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-regression-20220125.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-regression-20220125.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-regrettable-rec-attrset-merge.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-regrettable-rec-attrset-merge.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-remove.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-remove.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-repeated-empty-attrs.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-repeated-empty-attrs.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-repeated-empty-list.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-repeated-empty-list.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-replacestrings.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-replacestrings.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-scope-1.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-scope-1.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-scope-2.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-scope-2.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-scope-3.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-scope-3.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-scope-4.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-scope-4.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-scope-6.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-scope-6.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-scope-7.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-scope-7.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-search-path.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-search-path.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-seq.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-seq.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-sort.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-sort.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-splitversion.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-splitversion.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-string.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-string.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-strings-as-attrs-names.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-strings-as-attrs-names.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-substring-context.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-substring-context.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-substring.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-substring.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-symlink-resolution.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-symlink-resolution.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-tail-call-1.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-tojson.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-tojson.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-toxml.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-toxml.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-toxml2.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-toxml2.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-tryeval.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-tryeval.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-types.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-types.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-versions.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-versions.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-with.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-with.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-xml.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-xml.nix (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-zipAttrsWith.exp (100%) rename nix-js/tests/{ => tests}/lang/eval-okay-zipAttrsWith.nix (100%) rename nix-js/tests/{ => tests}/lang/imported.nix (100%) rename nix-js/tests/{ => tests}/lang/imported2.nix (100%) rename nix-js/tests/{ => tests}/lang/lib.nix (100%) rename nix-js/tests/{ => tests}/lang/readDir/bar (100%) rename nix-js/tests/{ => tests}/lang/readDir/foo/git-hates-directories (100%) rename nix-js/tests/{ => tests}/lang/readDir/ldir (100%) rename nix-js/tests/{ => tests}/lang/readDir/linked (100%) rename nix-js/tests/{ => tests}/lang/symlink-resolution/broken (100%) rename nix-js/tests/{ => tests}/lang/symlink-resolution/foo/lib/default.nix (100%) rename nix-js/tests/{ => tests}/lang/symlink-resolution/foo/overlays (100%) rename nix-js/tests/{ => tests}/lang/symlink-resolution/overlays/overlay.nix (100%) create mode 120000 nix-js/tests/tests/lang/utils create mode 100644 nix-js/tests/tests/main.rs rename nix-js/tests/{ => tests}/numeric_types.rs (98%) rename nix-js/tests/{ => tests}/operators.rs (98%) rename nix-js/tests/{ => tests}/path_operations.rs (98%) rename nix-js/tests/{ => tests}/regex.rs (99%) rename nix-js/tests/{ => tests}/string_context.rs (99%) rename nix-js/tests/{ => tests}/thunk_scope.rs (98%) rename nix-js/tests/{ => tests}/to_string.rs (95%) rename nix-js/tests/{ => tests}/utils.rs (100%) diff --git a/Cargo.lock b/Cargo.lock index c9f0b66..6318f83 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -429,9 +429,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.58" +version = "4.5.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63be97961acde393029492ce0be7a1af7e323e6bae9511ebfac33751be5e6806" +checksum = "c5caf74d17c3aec5495110c34cc3f78644bfa89af6c8993ed4de2790e49b6499" dependencies = [ "clap_builder", "clap_derive", @@ -439,9 +439,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.58" +version = "4.5.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f13174bda5dfd69d7e947827e5af4b0f2f94a4a3ee92912fba07a66150f21e2" +checksum = "370daa45065b80218950227371916a1633217ae42b2715b2287b606dcd618e24" dependencies = [ "anstream", "anstyle", @@ -1142,9 +1142,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" +checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d" dependencies = [ "futures-channel", "futures-core", @@ -1157,9 +1157,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" +checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d" dependencies = [ "futures-core", "futures-sink", @@ -1167,15 +1167,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" +checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" [[package]] name = "futures-executor" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" +checksum = "baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d" dependencies = [ "futures-core", "futures-task", @@ -1184,15 +1184,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" +checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" [[package]] name = "futures-macro" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" +checksum = "e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b" dependencies = [ "proc-macro2", "quote", @@ -1201,21 +1201,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" +checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893" [[package]] name = "futures-task" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" +checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393" [[package]] name = "futures-util" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" +checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6" dependencies = [ "futures-channel", "futures-core", @@ -1225,7 +1225,6 @@ dependencies = [ "futures-task", "memchr", "pin-project-lite", - "pin-utils", "slab", ] @@ -1987,7 +1986,7 @@ dependencies = [ [[package]] name = "nix-compat" version = "0.1.0" -source = "git+https://git.snix.dev/snix/snix.git#9d414bec7c7fff1fca6ba6d14dda6c4295521260" +source = "git+https://git.snix.dev/snix/snix.git#db30e92b30e18ca4d813206ac1b60d1f670adb8c" dependencies = [ "bitflags", "bstr", @@ -2010,7 +2009,7 @@ dependencies = [ [[package]] name = "nix-compat-derive" version = "0.1.0" -source = "git+https://git.snix.dev/snix/snix.git#9d414bec7c7fff1fca6ba6d14dda6c4295521260" +source = "git+https://git.snix.dev/snix/snix.git#db30e92b30e18ca4d813206ac1b60d1f670adb8c" dependencies = [ "proc-macro2", "quote", @@ -2678,9 +2677,9 @@ dependencies = [ [[package]] name = "rnix" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b8276b540c344ec04cd215fb3d35db378c2b1861cc44802c2c097f3490f6e52" +checksum = "c163bd17372eecdf10d351c34584b7de7c1a33be4e92a32f3fb3f5a7fe3f579b" dependencies = [ "rowan", ] @@ -3261,9 +3260,9 @@ checksum = "a7973cce6668464ea31f176d85b13c7ab3bba2cb3b77a2ed26abd7801688010a" [[package]] name = "syn" -version = "2.0.115" +version = "2.0.116" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e614ed320ac28113fa64972c4262d5dbc89deacdfd00c34a3e4cea073243c12" +checksum = "3df424c70518695237746f84cede799c9c58fcb37450d7b23716568cc8bc69cb" dependencies = [ "proc-macro2", "quote", @@ -3583,9 +3582,9 @@ dependencies = [ [[package]] name = "toml_parser" -version = "1.0.8+spec-1.1.0" +version = "1.0.9+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0742ff5ff03ea7e67c8ae6c93cac239e0d9784833362da3f9a9c1da8dfefcbdc" +checksum = "702d4415e08923e7e1ef96cd5727c0dfed80b4d2fa25db9647fe5eb6f7c5a4c4" dependencies = [ "winnow", ] @@ -3722,9 +3721,9 @@ checksum = "81b79ad29b5e19de4260020f8919b443b2ef0277d242ce532ec7b7a2cc8b6007" [[package]] name = "unicode-ident" -version = "1.0.23" +version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "537dd038a89878be9b64dd4bd1b260315c1bb94f4d784956b81e27a088d9a09e" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" [[package]] name = "unicode-linebreak" diff --git a/nix-js/Cargo.toml b/nix-js/Cargo.toml index c9e933f..d0b9baf 100644 --- a/nix-js/Cargo.toml +++ b/nix-js/Cargo.toml @@ -58,7 +58,7 @@ dirs = "6.0" tempfile = "3.24" rusqlite = { version = "0.38", features = ["bundled"] } -rnix = "0.13" +rnix = "0.14" rowan = "0.16" nix-js-macros = { path = "../nix-js-macros" } diff --git a/nix-js/runtime-ts/src/builtins/attrs.ts b/nix-js/runtime-ts/src/builtins/attrs.ts index b178783..a7721c8 100644 --- a/nix-js/runtime-ts/src/builtins/attrs.ts +++ b/nix-js/runtime-ts/src/builtins/attrs.ts @@ -149,13 +149,11 @@ export const unsafeGetAttrPos = return null; } - const positions = (attrs as NixAttrs & Record)[ATTR_POSITIONS] as - | Record - | undefined; - if (!positions || !(name in positions)) { + const positions = attrs[ATTR_POSITIONS]; + if (!positions || !positions.has(name)) { return null; } - const span = positions[name]; + const span = positions.get(name) as string; return mkPos(span); }; diff --git a/nix-js/runtime-ts/src/builtins/misc.ts b/nix-js/runtime-ts/src/builtins/misc.ts index c2cde1b..ebb19d3 100644 --- a/nix-js/runtime-ts/src/builtins/misc.ts +++ b/nix-js/runtime-ts/src/builtins/misc.ts @@ -146,7 +146,7 @@ export const functionArgs = (f: NixValue): NixAttrs => { ret.set(key, true); } const positions = func.args.positions; - if (positions && Object.keys(positions).length > 0) { + if (positions) { ret[ATTR_POSITIONS] = positions; } return ret; diff --git a/nix-js/runtime-ts/src/helpers.ts b/nix-js/runtime-ts/src/helpers.ts index 1b214d6..2e47abe 100644 --- a/nix-js/runtime-ts/src/helpers.ts +++ b/nix-js/runtime-ts/src/helpers.ts @@ -314,8 +314,8 @@ interface WithScope { last: WithScope | null; } -export const lookupWith = (name: string, withScope: WithScope | null): NixValue => { - let current = withScope; +export const lookupWith = (name: string, withScope: WithScope): NixValue => { + let current: WithScope | null = withScope; while (current !== null) { const attrs = forceAttrs(current.env); if (attrs.has(name)) { diff --git a/nix-js/runtime-ts/src/index.ts b/nix-js/runtime-ts/src/index.ts index e177c1d..1865b80 100644 --- a/nix-js/runtime-ts/src/index.ts +++ b/nix-js/runtime-ts/src/index.ts @@ -35,7 +35,7 @@ import { ATTR_POSITIONS, IS_PATH, mkAttrs, mkAttrsWithPos, mkFunction, type NixV export type NixRuntime = typeof Nix; -const replBindings: Record = {}; +const replBindings: Map = new Map; export const Nix = { createThunk, @@ -74,9 +74,9 @@ export const Nix = { replBindings, setReplBinding: (name: string, value: NixValue) => { - replBindings[name] = value; + replBindings.set(name, value); }, - getReplBinding: (name: string) => replBindings[name], + getReplBinding: (name: string) => replBindings.get(name), }; globalThis.Nix = Nix; diff --git a/nix-js/runtime-ts/src/print.ts b/nix-js/runtime-ts/src/print.ts index 7aef6af..501bb40 100644 --- a/nix-js/runtime-ts/src/print.ts +++ b/nix-js/runtime-ts/src/print.ts @@ -40,7 +40,7 @@ export const printValue = (value: NixValue, seen: WeakSet = new WeakSet( } if (typeof value === "object") { - if (IS_CYCLE in value && (value as Record)[IS_CYCLE] === true) { + if (IS_CYCLE in value) { return "«repeated»"; } @@ -68,7 +68,7 @@ export const printValue = (value: NixValue, seen: WeakSet = new WeakSet( return `{${entries ? ` ${entries} ` : " "}}`; } - return ""; + throw new Error("unreachable"); }; const printString = (s: string): string => { diff --git a/nix-js/runtime-ts/src/types.ts b/nix-js/runtime-ts/src/types.ts index 20a89e9..0609f05 100644 --- a/nix-js/runtime-ts/src/types.ts +++ b/nix-js/runtime-ts/src/types.ts @@ -24,18 +24,18 @@ export type NixNull = null; export const ATTR_POSITIONS = Symbol("attrPositions"); export type NixList = NixValue[]; -export type NixAttrs = Map & { [ATTR_POSITIONS]?: Record }; +export type NixAttrs = Map & { [ATTR_POSITIONS]?: Map }; export type NixFunction = ((arg: NixValue) => NixValue) & { args?: NixArgs }; export class NixArgs { required: string[]; optional: string[]; allowed: Set; ellipsis: boolean; - positions: Record; + positions: Map; constructor(required: string[], optional: string[], positions: Record, ellipsis: boolean) { this.required = required; this.optional = optional; - this.positions = positions; + this.positions = new Map(Object.entries(positions)); this.ellipsis = ellipsis; this.allowed = new Set(required.concat(optional)); } @@ -103,7 +103,7 @@ export const mkAttrsWithPos = ( } if (Object.keys(positions).length > 0) { - attrs[ATTR_POSITIONS] = positions; + attrs[ATTR_POSITIONS] = new Map(Object.entries(positions)); } return attrs; diff --git a/nix-js/src/downgrade.rs b/nix-js/src/downgrade.rs index adfa8d7..147e1f6 100644 --- a/nix-js/src/downgrade.rs +++ b/nix-js/src/downgrade.rs @@ -101,6 +101,12 @@ impl Downgrade for Expr { AttrSet(attrs) => attrs.downgrade(ctx), UnaryOp(op) => op.downgrade(ctx), Ident(ident) => ident.downgrade(ctx), + CurPos(curpos) => Ok(ctx.new_expr( + self::CurPos { + span: curpos.syntax().text_range(), + } + .to_ir(), + )), With(with) => with.downgrade(ctx), HasAttr(has) => has.downgrade(ctx), Paren(paren) => paren @@ -265,11 +271,6 @@ impl Downgrade for ast::Ident { fn downgrade(self, ctx: &mut Ctx) -> Result { let span = self.syntax().text_range(); let text = self.ident_token().require(ctx, span)?.to_string(); - - if text == "__curPos" { - return Ok(ctx.new_expr(CurPos { span }.to_ir())); - } - let sym = ctx.new_sym(text); ctx.lookup(sym, span) } diff --git a/nix-js/src/main.rs b/nix-js/src/main.rs index 82df1db..8337b9a 100644 --- a/nix-js/src/main.rs +++ b/nix-js/src/main.rs @@ -2,7 +2,7 @@ use std::path::PathBuf; use std::process::exit; use anyhow::Result; -use clap::{Parser, Subcommand, Args}; +use clap::{Args, Parser, Subcommand}; use hashbrown::HashSet; use nix_js::context::Context; use nix_js::error::Source; @@ -28,7 +28,7 @@ struct Cli { enum Command { Eval { #[clap(flatten)] - source: ExprSource + source: ExprSource, }, Repl, } @@ -39,7 +39,7 @@ struct ExprSource { #[clap(short, long)] expr: Option, #[clap(short, long)] - file: Option + file: Option, } fn create_context(#[cfg(feature = "inspector")] cli: &Cli) -> Result { @@ -150,9 +150,7 @@ fn main() -> Result<()> { )?; match cli.command { - Command::Eval { source } => { - run_eval(&mut context, source) - } + Command::Eval { source } => run_eval(&mut context, source), Command::Repl => run_repl(&mut context), } } diff --git a/nix-js/src/runtime.rs b/nix-js/src/runtime.rs index c13c2e0..1e4b1df 100644 --- a/nix-js/src/runtime.rs +++ b/nix-js/src/runtime.rs @@ -370,9 +370,13 @@ fn to_value<'a>( let array = val.as_array(scope); let attrs = (0..size) .map(|i| { - let key = array.get_index(scope, i * 2).expect("infallible index operation"); + let key = array + .get_index(scope, i * 2) + .expect("infallible index operation"); let key = key.to_rust_string_lossy(scope); - let val = array.get_index(scope, i * 2 + 1).expect("infallible index operation"); + let val = array + .get_index(scope, i * 2 + 1) + .expect("infallible index operation"); let val = to_value( val, scope, @@ -383,7 +387,8 @@ fn to_value<'a>( is_cycle_symbol, ); (Symbol::new(Cow::Owned(key)), val) - }).collect(); + }) + .collect(); Value::AttrSet(AttrSet::new(attrs)) } _ if val.is_object() => { diff --git a/nix-js/tests/basic_eval.rs b/nix-js/tests/tests/basic_eval.rs similarity index 95% rename from nix-js/tests/basic_eval.rs rename to nix-js/tests/tests/basic_eval.rs index ff3b682..59a933c 100644 --- a/nix-js/tests/basic_eval.rs +++ b/nix-js/tests/tests/basic_eval.rs @@ -1,9 +1,5 @@ -mod utils; - +use crate::utils::{eval, eval_result}; use nix_js::value::Value; -use utils::eval; - -use crate::utils::eval_result; #[test] fn arithmetic() { diff --git a/nix-js/tests/builtins.rs b/nix-js/tests/tests/builtins.rs similarity index 99% rename from nix-js/tests/builtins.rs rename to nix-js/tests/tests/builtins.rs index 8d4e089..69b2325 100644 --- a/nix-js/tests/builtins.rs +++ b/nix-js/tests/tests/builtins.rs @@ -1,9 +1,6 @@ -mod utils; - -use std::collections::BTreeMap; - +use crate::utils::eval; use nix_js::value::{AttrSet, List, Value}; -use utils::eval; +use std::collections::BTreeMap; #[test] fn builtins_accessible() { diff --git a/nix-js/tests/builtins_store.rs b/nix-js/tests/tests/builtins_store.rs similarity index 99% rename from nix-js/tests/builtins_store.rs rename to nix-js/tests/tests/builtins_store.rs index d382f57..95fdf54 100644 --- a/nix-js/tests/builtins_store.rs +++ b/nix-js/tests/tests/builtins_store.rs @@ -1,7 +1,5 @@ -mod utils; - +use crate::utils::eval_result; use nix_js::value::Value; -use utils::eval_result; #[test] fn to_file_simple() { diff --git a/nix-js/tests/derivation.rs b/nix-js/tests/tests/derivation.rs similarity index 99% rename from nix-js/tests/derivation.rs rename to nix-js/tests/tests/derivation.rs index 46418ca..378639d 100644 --- a/nix-js/tests/derivation.rs +++ b/nix-js/tests/tests/derivation.rs @@ -1,7 +1,5 @@ -mod utils; - +use crate::utils::{eval_deep, eval_deep_result}; use nix_js::value::Value; -use utils::{eval_deep, eval_deep_result}; #[test] fn add_operator_preserves_derivation_context() { diff --git a/nix-js/tests/findfile.rs b/nix-js/tests/tests/findfile.rs similarity index 96% rename from nix-js/tests/findfile.rs rename to nix-js/tests/tests/findfile.rs index 11a0388..19586d0 100644 --- a/nix-js/tests/findfile.rs +++ b/nix-js/tests/tests/findfile.rs @@ -1,6 +1,4 @@ -mod utils; - -use utils::eval; +use crate::utils::eval; #[test] fn test_find_file_corepkg_fetchurl() { diff --git a/nix-js/tests/free_globals.rs b/nix-js/tests/tests/free_globals.rs similarity index 93% rename from nix-js/tests/free_globals.rs rename to nix-js/tests/tests/free_globals.rs index 77dbf32..ca19ab9 100644 --- a/nix-js/tests/free_globals.rs +++ b/nix-js/tests/tests/free_globals.rs @@ -1,7 +1,5 @@ -mod utils; - +use crate::utils::{eval, eval_result}; use nix_js::value::{List, Value}; -use utils::eval; #[test] fn true_literal() { @@ -65,7 +63,7 @@ fn shadow_in_function() { #[test] fn throw_function() { - let result = utils::eval_result("throw \"error message\""); + let result = eval_result("throw \"error message\""); assert!(result.is_err()); } diff --git a/nix-js/tests/functions.rs b/nix-js/tests/tests/functions.rs similarity index 98% rename from nix-js/tests/functions.rs rename to nix-js/tests/tests/functions.rs index cd6cba2..6368e08 100644 --- a/nix-js/tests/functions.rs +++ b/nix-js/tests/tests/functions.rs @@ -1,7 +1,5 @@ -mod utils; - +use crate::utils::{eval, eval_result}; use nix_js::value::Value; -use utils::{eval, eval_result}; #[test] fn required_parameters() { diff --git a/nix-js/tests/io_operations.rs b/nix-js/tests/tests/io_operations.rs similarity index 99% rename from nix-js/tests/io_operations.rs rename to nix-js/tests/tests/io_operations.rs index 31fbf94..abbc812 100644 --- a/nix-js/tests/io_operations.rs +++ b/nix-js/tests/tests/io_operations.rs @@ -1,11 +1,8 @@ -mod utils; - +use crate::utils::{eval, eval_result}; use nix_js::context::Context; use nix_js::error::Source; use nix_js::value::Value; -use crate::utils::{eval, eval_result}; - #[test] fn import_absolute_path() { let temp_dir = tempfile::tempdir().unwrap(); diff --git a/nix-js/tests/lang.rs b/nix-js/tests/tests/lang.rs similarity index 98% rename from nix-js/tests/lang.rs rename to nix-js/tests/tests/lang.rs index 96ce500..0058165 100644 --- a/nix-js/tests/lang.rs +++ b/nix-js/tests/tests/lang.rs @@ -1,7 +1,5 @@ #![allow(non_snake_case)] -mod utils; - use std::path::PathBuf; use nix_js::context::Context; @@ -9,7 +7,7 @@ use nix_js::error::Source; use nix_js::value::Value; fn get_lang_dir() -> PathBuf { - PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("tests/lang") + PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("tests/tests/lang") } fn eval_file(name: &str) -> Result<(Value, Source), String> { @@ -195,7 +193,6 @@ eval_okay_test!(partition); eval_okay_test!(path); eval_okay_test!(pathexists); eval_okay_test!( - #[ignore = "rnix 0.13 regression: /${foo}-/*...*/ fails to parse"] path_string_interpolation, || { unsafe { diff --git a/nix-js/tests/lang/binary-data b/nix-js/tests/tests/lang/binary-data similarity index 100% rename from nix-js/tests/lang/binary-data rename to nix-js/tests/tests/lang/binary-data diff --git a/nix-js/tests/lang/data b/nix-js/tests/tests/lang/data similarity index 100% rename from nix-js/tests/lang/data rename to nix-js/tests/tests/lang/data diff --git a/nix-js/tests/lang/dir1/a.nix b/nix-js/tests/tests/lang/dir1/a.nix similarity index 100% rename from nix-js/tests/lang/dir1/a.nix rename to nix-js/tests/tests/lang/dir1/a.nix diff --git a/nix-js/tests/lang/dir2/a.nix b/nix-js/tests/tests/lang/dir2/a.nix similarity index 100% rename from nix-js/tests/lang/dir2/a.nix rename to nix-js/tests/tests/lang/dir2/a.nix diff --git a/nix-js/tests/lang/dir2/b.nix b/nix-js/tests/tests/lang/dir2/b.nix similarity index 100% rename from nix-js/tests/lang/dir2/b.nix rename to nix-js/tests/tests/lang/dir2/b.nix diff --git a/nix-js/tests/lang/dir3/a.nix b/nix-js/tests/tests/lang/dir3/a.nix similarity index 100% rename from nix-js/tests/lang/dir3/a.nix rename to nix-js/tests/tests/lang/dir3/a.nix diff --git a/nix-js/tests/lang/dir3/b.nix b/nix-js/tests/tests/lang/dir3/b.nix similarity index 100% rename from nix-js/tests/lang/dir3/b.nix rename to nix-js/tests/tests/lang/dir3/b.nix diff --git a/nix-js/tests/lang/dir3/c.nix b/nix-js/tests/tests/lang/dir3/c.nix similarity index 100% rename from nix-js/tests/lang/dir3/c.nix rename to nix-js/tests/tests/lang/dir3/c.nix diff --git a/nix-js/tests/lang/dir4/a.nix b/nix-js/tests/tests/lang/dir4/a.nix similarity index 100% rename from nix-js/tests/lang/dir4/a.nix rename to nix-js/tests/tests/lang/dir4/a.nix diff --git a/nix-js/tests/lang/dir4/c.nix b/nix-js/tests/tests/lang/dir4/c.nix similarity index 100% rename from nix-js/tests/lang/dir4/c.nix rename to nix-js/tests/tests/lang/dir4/c.nix diff --git a/nix-js/tests/lang/eval-fail-abort.err.exp b/nix-js/tests/tests/lang/eval-fail-abort.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-abort.err.exp rename to nix-js/tests/tests/lang/eval-fail-abort.err.exp diff --git a/nix-js/tests/lang/eval-fail-abort.nix b/nix-js/tests/tests/lang/eval-fail-abort.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-abort.nix rename to nix-js/tests/tests/lang/eval-fail-abort.nix diff --git a/nix-js/tests/lang/eval-fail-addDrvOutputDependencies-empty-context.err.exp b/nix-js/tests/tests/lang/eval-fail-addDrvOutputDependencies-empty-context.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-addDrvOutputDependencies-empty-context.err.exp rename to nix-js/tests/tests/lang/eval-fail-addDrvOutputDependencies-empty-context.err.exp diff --git a/nix-js/tests/lang/eval-fail-addDrvOutputDependencies-empty-context.nix b/nix-js/tests/tests/lang/eval-fail-addDrvOutputDependencies-empty-context.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-addDrvOutputDependencies-empty-context.nix rename to nix-js/tests/tests/lang/eval-fail-addDrvOutputDependencies-empty-context.nix diff --git a/nix-js/tests/lang/eval-fail-addDrvOutputDependencies-multi-elem-context.err.exp b/nix-js/tests/tests/lang/eval-fail-addDrvOutputDependencies-multi-elem-context.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-addDrvOutputDependencies-multi-elem-context.err.exp rename to nix-js/tests/tests/lang/eval-fail-addDrvOutputDependencies-multi-elem-context.err.exp diff --git a/nix-js/tests/lang/eval-fail-addDrvOutputDependencies-multi-elem-context.nix b/nix-js/tests/tests/lang/eval-fail-addDrvOutputDependencies-multi-elem-context.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-addDrvOutputDependencies-multi-elem-context.nix rename to nix-js/tests/tests/lang/eval-fail-addDrvOutputDependencies-multi-elem-context.nix diff --git a/nix-js/tests/lang/eval-fail-addDrvOutputDependencies-wrong-element-kind.err.exp b/nix-js/tests/tests/lang/eval-fail-addDrvOutputDependencies-wrong-element-kind.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-addDrvOutputDependencies-wrong-element-kind.err.exp rename to nix-js/tests/tests/lang/eval-fail-addDrvOutputDependencies-wrong-element-kind.err.exp diff --git a/nix-js/tests/lang/eval-fail-addDrvOutputDependencies-wrong-element-kind.nix b/nix-js/tests/tests/lang/eval-fail-addDrvOutputDependencies-wrong-element-kind.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-addDrvOutputDependencies-wrong-element-kind.nix rename to nix-js/tests/tests/lang/eval-fail-addDrvOutputDependencies-wrong-element-kind.nix diff --git a/nix-js/tests/lang/eval-fail-addErrorContext-example.err.exp b/nix-js/tests/tests/lang/eval-fail-addErrorContext-example.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-addErrorContext-example.err.exp rename to nix-js/tests/tests/lang/eval-fail-addErrorContext-example.err.exp diff --git a/nix-js/tests/lang/eval-fail-addErrorContext-example.nix b/nix-js/tests/tests/lang/eval-fail-addErrorContext-example.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-addErrorContext-example.nix rename to nix-js/tests/tests/lang/eval-fail-addErrorContext-example.nix diff --git a/nix-js/tests/lang/eval-fail-assert-equal-attrs-names-2.err.exp b/nix-js/tests/tests/lang/eval-fail-assert-equal-attrs-names-2.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-attrs-names-2.err.exp rename to nix-js/tests/tests/lang/eval-fail-assert-equal-attrs-names-2.err.exp diff --git a/nix-js/tests/lang/eval-fail-assert-equal-attrs-names-2.nix b/nix-js/tests/tests/lang/eval-fail-assert-equal-attrs-names-2.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-attrs-names-2.nix rename to nix-js/tests/tests/lang/eval-fail-assert-equal-attrs-names-2.nix diff --git a/nix-js/tests/lang/eval-fail-assert-equal-attrs-names.err.exp b/nix-js/tests/tests/lang/eval-fail-assert-equal-attrs-names.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-attrs-names.err.exp rename to nix-js/tests/tests/lang/eval-fail-assert-equal-attrs-names.err.exp diff --git a/nix-js/tests/lang/eval-fail-assert-equal-attrs-names.nix b/nix-js/tests/tests/lang/eval-fail-assert-equal-attrs-names.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-attrs-names.nix rename to nix-js/tests/tests/lang/eval-fail-assert-equal-attrs-names.nix diff --git a/nix-js/tests/lang/eval-fail-assert-equal-derivations-extra.err.exp b/nix-js/tests/tests/lang/eval-fail-assert-equal-derivations-extra.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-derivations-extra.err.exp rename to nix-js/tests/tests/lang/eval-fail-assert-equal-derivations-extra.err.exp diff --git a/nix-js/tests/lang/eval-fail-assert-equal-derivations-extra.nix b/nix-js/tests/tests/lang/eval-fail-assert-equal-derivations-extra.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-derivations-extra.nix rename to nix-js/tests/tests/lang/eval-fail-assert-equal-derivations-extra.nix diff --git a/nix-js/tests/lang/eval-fail-assert-equal-derivations.err.exp b/nix-js/tests/tests/lang/eval-fail-assert-equal-derivations.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-derivations.err.exp rename to nix-js/tests/tests/lang/eval-fail-assert-equal-derivations.err.exp diff --git a/nix-js/tests/lang/eval-fail-assert-equal-derivations.nix b/nix-js/tests/tests/lang/eval-fail-assert-equal-derivations.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-derivations.nix rename to nix-js/tests/tests/lang/eval-fail-assert-equal-derivations.nix diff --git a/nix-js/tests/lang/eval-fail-assert-equal-floats.err.exp b/nix-js/tests/tests/lang/eval-fail-assert-equal-floats.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-floats.err.exp rename to nix-js/tests/tests/lang/eval-fail-assert-equal-floats.err.exp diff --git a/nix-js/tests/lang/eval-fail-assert-equal-floats.nix b/nix-js/tests/tests/lang/eval-fail-assert-equal-floats.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-floats.nix rename to nix-js/tests/tests/lang/eval-fail-assert-equal-floats.nix diff --git a/nix-js/tests/lang/eval-fail-assert-equal-function-direct.err.exp b/nix-js/tests/tests/lang/eval-fail-assert-equal-function-direct.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-function-direct.err.exp rename to nix-js/tests/tests/lang/eval-fail-assert-equal-function-direct.err.exp diff --git a/nix-js/tests/lang/eval-fail-assert-equal-function-direct.nix b/nix-js/tests/tests/lang/eval-fail-assert-equal-function-direct.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-function-direct.nix rename to nix-js/tests/tests/lang/eval-fail-assert-equal-function-direct.nix diff --git a/nix-js/tests/lang/eval-fail-assert-equal-int-float.err.exp b/nix-js/tests/tests/lang/eval-fail-assert-equal-int-float.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-int-float.err.exp rename to nix-js/tests/tests/lang/eval-fail-assert-equal-int-float.err.exp diff --git a/nix-js/tests/lang/eval-fail-assert-equal-int-float.nix b/nix-js/tests/tests/lang/eval-fail-assert-equal-int-float.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-int-float.nix rename to nix-js/tests/tests/lang/eval-fail-assert-equal-int-float.nix diff --git a/nix-js/tests/lang/eval-fail-assert-equal-ints.err.exp b/nix-js/tests/tests/lang/eval-fail-assert-equal-ints.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-ints.err.exp rename to nix-js/tests/tests/lang/eval-fail-assert-equal-ints.err.exp diff --git a/nix-js/tests/lang/eval-fail-assert-equal-ints.nix b/nix-js/tests/tests/lang/eval-fail-assert-equal-ints.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-ints.nix rename to nix-js/tests/tests/lang/eval-fail-assert-equal-ints.nix diff --git a/nix-js/tests/lang/eval-fail-assert-equal-list-length.err.exp b/nix-js/tests/tests/lang/eval-fail-assert-equal-list-length.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-list-length.err.exp rename to nix-js/tests/tests/lang/eval-fail-assert-equal-list-length.err.exp diff --git a/nix-js/tests/lang/eval-fail-assert-equal-list-length.nix b/nix-js/tests/tests/lang/eval-fail-assert-equal-list-length.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-list-length.nix rename to nix-js/tests/tests/lang/eval-fail-assert-equal-list-length.nix diff --git a/nix-js/tests/lang/eval-fail-assert-equal-paths.err.exp b/nix-js/tests/tests/lang/eval-fail-assert-equal-paths.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-paths.err.exp rename to nix-js/tests/tests/lang/eval-fail-assert-equal-paths.err.exp diff --git a/nix-js/tests/lang/eval-fail-assert-equal-paths.nix b/nix-js/tests/tests/lang/eval-fail-assert-equal-paths.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-paths.nix rename to nix-js/tests/tests/lang/eval-fail-assert-equal-paths.nix diff --git a/nix-js/tests/lang/eval-fail-assert-equal-type-nested.err.exp b/nix-js/tests/tests/lang/eval-fail-assert-equal-type-nested.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-type-nested.err.exp rename to nix-js/tests/tests/lang/eval-fail-assert-equal-type-nested.err.exp diff --git a/nix-js/tests/lang/eval-fail-assert-equal-type-nested.nix b/nix-js/tests/tests/lang/eval-fail-assert-equal-type-nested.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-type-nested.nix rename to nix-js/tests/tests/lang/eval-fail-assert-equal-type-nested.nix diff --git a/nix-js/tests/lang/eval-fail-assert-equal-type.err.exp b/nix-js/tests/tests/lang/eval-fail-assert-equal-type.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-type.err.exp rename to nix-js/tests/tests/lang/eval-fail-assert-equal-type.err.exp diff --git a/nix-js/tests/lang/eval-fail-assert-equal-type.nix b/nix-js/tests/tests/lang/eval-fail-assert-equal-type.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-equal-type.nix rename to nix-js/tests/tests/lang/eval-fail-assert-equal-type.nix diff --git a/nix-js/tests/lang/eval-fail-assert-nested-bool.err.exp b/nix-js/tests/tests/lang/eval-fail-assert-nested-bool.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-nested-bool.err.exp rename to nix-js/tests/tests/lang/eval-fail-assert-nested-bool.err.exp diff --git a/nix-js/tests/lang/eval-fail-assert-nested-bool.nix b/nix-js/tests/tests/lang/eval-fail-assert-nested-bool.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-assert-nested-bool.nix rename to nix-js/tests/tests/lang/eval-fail-assert-nested-bool.nix diff --git a/nix-js/tests/lang/eval-fail-assert.err.exp b/nix-js/tests/tests/lang/eval-fail-assert.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-assert.err.exp rename to nix-js/tests/tests/lang/eval-fail-assert.err.exp diff --git a/nix-js/tests/lang/eval-fail-assert.nix b/nix-js/tests/tests/lang/eval-fail-assert.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-assert.nix rename to nix-js/tests/tests/lang/eval-fail-assert.nix diff --git a/nix-js/tests/lang/eval-fail-attr-name-type.err.exp b/nix-js/tests/tests/lang/eval-fail-attr-name-type.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-attr-name-type.err.exp rename to nix-js/tests/tests/lang/eval-fail-attr-name-type.err.exp diff --git a/nix-js/tests/lang/eval-fail-attr-name-type.nix b/nix-js/tests/tests/lang/eval-fail-attr-name-type.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-attr-name-type.nix rename to nix-js/tests/tests/lang/eval-fail-attr-name-type.nix diff --git a/nix-js/tests/lang/eval-fail-attrset-merge-drops-later-rec.err.exp b/nix-js/tests/tests/lang/eval-fail-attrset-merge-drops-later-rec.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-attrset-merge-drops-later-rec.err.exp rename to nix-js/tests/tests/lang/eval-fail-attrset-merge-drops-later-rec.err.exp diff --git a/nix-js/tests/lang/eval-fail-attrset-merge-drops-later-rec.nix b/nix-js/tests/tests/lang/eval-fail-attrset-merge-drops-later-rec.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-attrset-merge-drops-later-rec.nix rename to nix-js/tests/tests/lang/eval-fail-attrset-merge-drops-later-rec.nix diff --git a/nix-js/tests/lang/eval-fail-bad-string-interpolation-1.err.exp b/nix-js/tests/tests/lang/eval-fail-bad-string-interpolation-1.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-bad-string-interpolation-1.err.exp rename to nix-js/tests/tests/lang/eval-fail-bad-string-interpolation-1.err.exp diff --git a/nix-js/tests/lang/eval-fail-bad-string-interpolation-1.nix b/nix-js/tests/tests/lang/eval-fail-bad-string-interpolation-1.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-bad-string-interpolation-1.nix rename to nix-js/tests/tests/lang/eval-fail-bad-string-interpolation-1.nix diff --git a/nix-js/tests/lang/eval-fail-bad-string-interpolation-2.err.exp b/nix-js/tests/tests/lang/eval-fail-bad-string-interpolation-2.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-bad-string-interpolation-2.err.exp rename to nix-js/tests/tests/lang/eval-fail-bad-string-interpolation-2.err.exp diff --git a/nix-js/tests/lang/eval-fail-bad-string-interpolation-2.nix b/nix-js/tests/tests/lang/eval-fail-bad-string-interpolation-2.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-bad-string-interpolation-2.nix rename to nix-js/tests/tests/lang/eval-fail-bad-string-interpolation-2.nix diff --git a/nix-js/tests/lang/eval-fail-bad-string-interpolation-3.err.exp b/nix-js/tests/tests/lang/eval-fail-bad-string-interpolation-3.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-bad-string-interpolation-3.err.exp rename to nix-js/tests/tests/lang/eval-fail-bad-string-interpolation-3.err.exp diff --git a/nix-js/tests/lang/eval-fail-bad-string-interpolation-3.nix b/nix-js/tests/tests/lang/eval-fail-bad-string-interpolation-3.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-bad-string-interpolation-3.nix rename to nix-js/tests/tests/lang/eval-fail-bad-string-interpolation-3.nix diff --git a/nix-js/tests/lang/eval-fail-bad-string-interpolation-4.err.exp b/nix-js/tests/tests/lang/eval-fail-bad-string-interpolation-4.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-bad-string-interpolation-4.err.exp rename to nix-js/tests/tests/lang/eval-fail-bad-string-interpolation-4.err.exp diff --git a/nix-js/tests/lang/eval-fail-bad-string-interpolation-4.nix b/nix-js/tests/tests/lang/eval-fail-bad-string-interpolation-4.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-bad-string-interpolation-4.nix rename to nix-js/tests/tests/lang/eval-fail-bad-string-interpolation-4.nix diff --git a/nix-js/tests/lang/eval-fail-blackhole.err.exp b/nix-js/tests/tests/lang/eval-fail-blackhole.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-blackhole.err.exp rename to nix-js/tests/tests/lang/eval-fail-blackhole.err.exp diff --git a/nix-js/tests/lang/eval-fail-blackhole.nix b/nix-js/tests/tests/lang/eval-fail-blackhole.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-blackhole.nix rename to nix-js/tests/tests/lang/eval-fail-blackhole.nix diff --git a/nix-js/tests/lang/eval-fail-call-primop.err.exp b/nix-js/tests/tests/lang/eval-fail-call-primop.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-call-primop.err.exp rename to nix-js/tests/tests/lang/eval-fail-call-primop.err.exp diff --git a/nix-js/tests/lang/eval-fail-call-primop.nix b/nix-js/tests/tests/lang/eval-fail-call-primop.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-call-primop.nix rename to nix-js/tests/tests/lang/eval-fail-call-primop.nix diff --git a/nix-js/tests/lang/eval-fail-deepseq.err.exp b/nix-js/tests/tests/lang/eval-fail-deepseq.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-deepseq.err.exp rename to nix-js/tests/tests/lang/eval-fail-deepseq.err.exp diff --git a/nix-js/tests/lang/eval-fail-deepseq.nix b/nix-js/tests/tests/lang/eval-fail-deepseq.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-deepseq.nix rename to nix-js/tests/tests/lang/eval-fail-deepseq.nix diff --git a/nix-js/tests/lang/eval-fail-derivation-name.err.exp b/nix-js/tests/tests/lang/eval-fail-derivation-name.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-derivation-name.err.exp rename to nix-js/tests/tests/lang/eval-fail-derivation-name.err.exp diff --git a/nix-js/tests/lang/eval-fail-derivation-name.nix b/nix-js/tests/tests/lang/eval-fail-derivation-name.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-derivation-name.nix rename to nix-js/tests/tests/lang/eval-fail-derivation-name.nix diff --git a/nix-js/tests/lang/eval-fail-dup-dynamic-attrs.err.exp b/nix-js/tests/tests/lang/eval-fail-dup-dynamic-attrs.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-dup-dynamic-attrs.err.exp rename to nix-js/tests/tests/lang/eval-fail-dup-dynamic-attrs.err.exp diff --git a/nix-js/tests/lang/eval-fail-dup-dynamic-attrs.nix b/nix-js/tests/tests/lang/eval-fail-dup-dynamic-attrs.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-dup-dynamic-attrs.nix rename to nix-js/tests/tests/lang/eval-fail-dup-dynamic-attrs.nix diff --git a/nix-js/tests/lang/eval-fail-duplicate-traces.err.exp b/nix-js/tests/tests/lang/eval-fail-duplicate-traces.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-duplicate-traces.err.exp rename to nix-js/tests/tests/lang/eval-fail-duplicate-traces.err.exp diff --git a/nix-js/tests/lang/eval-fail-duplicate-traces.nix b/nix-js/tests/tests/lang/eval-fail-duplicate-traces.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-duplicate-traces.nix rename to nix-js/tests/tests/lang/eval-fail-duplicate-traces.nix diff --git a/nix-js/tests/lang/eval-fail-eol-1.err.exp b/nix-js/tests/tests/lang/eval-fail-eol-1.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-eol-1.err.exp rename to nix-js/tests/tests/lang/eval-fail-eol-1.err.exp diff --git a/nix-js/tests/lang/eval-fail-eol-1.nix b/nix-js/tests/tests/lang/eval-fail-eol-1.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-eol-1.nix rename to nix-js/tests/tests/lang/eval-fail-eol-1.nix diff --git a/nix-js/tests/lang/eval-fail-eol-2.err.exp b/nix-js/tests/tests/lang/eval-fail-eol-2.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-eol-2.err.exp rename to nix-js/tests/tests/lang/eval-fail-eol-2.err.exp diff --git a/nix-js/tests/lang/eval-fail-eol-2.nix b/nix-js/tests/tests/lang/eval-fail-eol-2.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-eol-2.nix rename to nix-js/tests/tests/lang/eval-fail-eol-2.nix diff --git a/nix-js/tests/lang/eval-fail-eol-3.err.exp b/nix-js/tests/tests/lang/eval-fail-eol-3.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-eol-3.err.exp rename to nix-js/tests/tests/lang/eval-fail-eol-3.err.exp diff --git a/nix-js/tests/lang/eval-fail-eol-3.nix b/nix-js/tests/tests/lang/eval-fail-eol-3.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-eol-3.nix rename to nix-js/tests/tests/lang/eval-fail-eol-3.nix diff --git a/nix-js/tests/lang/eval-fail-fetchTree-negative.err.exp b/nix-js/tests/tests/lang/eval-fail-fetchTree-negative.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-fetchTree-negative.err.exp rename to nix-js/tests/tests/lang/eval-fail-fetchTree-negative.err.exp diff --git a/nix-js/tests/lang/eval-fail-fetchTree-negative.nix b/nix-js/tests/tests/lang/eval-fail-fetchTree-negative.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-fetchTree-negative.nix rename to nix-js/tests/tests/lang/eval-fail-fetchTree-negative.nix diff --git a/nix-js/tests/lang/eval-fail-fetchurl-baseName-attrs-name.err.exp b/nix-js/tests/tests/lang/eval-fail-fetchurl-baseName-attrs-name.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-fetchurl-baseName-attrs-name.err.exp rename to nix-js/tests/tests/lang/eval-fail-fetchurl-baseName-attrs-name.err.exp diff --git a/nix-js/tests/lang/eval-fail-fetchurl-baseName-attrs-name.nix b/nix-js/tests/tests/lang/eval-fail-fetchurl-baseName-attrs-name.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-fetchurl-baseName-attrs-name.nix rename to nix-js/tests/tests/lang/eval-fail-fetchurl-baseName-attrs-name.nix diff --git a/nix-js/tests/lang/eval-fail-fetchurl-baseName-attrs.err.exp b/nix-js/tests/tests/lang/eval-fail-fetchurl-baseName-attrs.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-fetchurl-baseName-attrs.err.exp rename to nix-js/tests/tests/lang/eval-fail-fetchurl-baseName-attrs.err.exp diff --git a/nix-js/tests/lang/eval-fail-fetchurl-baseName-attrs.nix b/nix-js/tests/tests/lang/eval-fail-fetchurl-baseName-attrs.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-fetchurl-baseName-attrs.nix rename to nix-js/tests/tests/lang/eval-fail-fetchurl-baseName-attrs.nix diff --git a/nix-js/tests/lang/eval-fail-fetchurl-baseName.err.exp b/nix-js/tests/tests/lang/eval-fail-fetchurl-baseName.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-fetchurl-baseName.err.exp rename to nix-js/tests/tests/lang/eval-fail-fetchurl-baseName.err.exp diff --git a/nix-js/tests/lang/eval-fail-fetchurl-baseName.nix b/nix-js/tests/tests/lang/eval-fail-fetchurl-baseName.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-fetchurl-baseName.nix rename to nix-js/tests/tests/lang/eval-fail-fetchurl-baseName.nix diff --git a/nix-js/tests/lang/eval-fail-flake-ref-to-string-negative-integer.err.exp b/nix-js/tests/tests/lang/eval-fail-flake-ref-to-string-negative-integer.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-flake-ref-to-string-negative-integer.err.exp rename to nix-js/tests/tests/lang/eval-fail-flake-ref-to-string-negative-integer.err.exp diff --git a/nix-js/tests/lang/eval-fail-flake-ref-to-string-negative-integer.nix b/nix-js/tests/tests/lang/eval-fail-flake-ref-to-string-negative-integer.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-flake-ref-to-string-negative-integer.nix rename to nix-js/tests/tests/lang/eval-fail-flake-ref-to-string-negative-integer.nix diff --git a/nix-js/tests/lang/eval-fail-foldlStrict-strict-op-application.err.exp b/nix-js/tests/tests/lang/eval-fail-foldlStrict-strict-op-application.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-foldlStrict-strict-op-application.err.exp rename to nix-js/tests/tests/lang/eval-fail-foldlStrict-strict-op-application.err.exp diff --git a/nix-js/tests/lang/eval-fail-foldlStrict-strict-op-application.nix b/nix-js/tests/tests/lang/eval-fail-foldlStrict-strict-op-application.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-foldlStrict-strict-op-application.nix rename to nix-js/tests/tests/lang/eval-fail-foldlStrict-strict-op-application.nix diff --git a/nix-js/tests/lang/eval-fail-fromJSON-keyWithNullByte.err.exp b/nix-js/tests/tests/lang/eval-fail-fromJSON-keyWithNullByte.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-fromJSON-keyWithNullByte.err.exp rename to nix-js/tests/tests/lang/eval-fail-fromJSON-keyWithNullByte.err.exp diff --git a/nix-js/tests/lang/eval-fail-fromJSON-keyWithNullByte.nix b/nix-js/tests/tests/lang/eval-fail-fromJSON-keyWithNullByte.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-fromJSON-keyWithNullByte.nix rename to nix-js/tests/tests/lang/eval-fail-fromJSON-keyWithNullByte.nix diff --git a/nix-js/tests/lang/eval-fail-fromJSON-overflowing.err.exp b/nix-js/tests/tests/lang/eval-fail-fromJSON-overflowing.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-fromJSON-overflowing.err.exp rename to nix-js/tests/tests/lang/eval-fail-fromJSON-overflowing.err.exp diff --git a/nix-js/tests/lang/eval-fail-fromJSON-overflowing.nix b/nix-js/tests/tests/lang/eval-fail-fromJSON-overflowing.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-fromJSON-overflowing.nix rename to nix-js/tests/tests/lang/eval-fail-fromJSON-overflowing.nix diff --git a/nix-js/tests/lang/eval-fail-fromJSON-valueWithNullByte.err.exp b/nix-js/tests/tests/lang/eval-fail-fromJSON-valueWithNullByte.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-fromJSON-valueWithNullByte.err.exp rename to nix-js/tests/tests/lang/eval-fail-fromJSON-valueWithNullByte.err.exp diff --git a/nix-js/tests/lang/eval-fail-fromJSON-valueWithNullByte.nix b/nix-js/tests/tests/lang/eval-fail-fromJSON-valueWithNullByte.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-fromJSON-valueWithNullByte.nix rename to nix-js/tests/tests/lang/eval-fail-fromJSON-valueWithNullByte.nix diff --git a/nix-js/tests/lang/eval-fail-fromTOML-keyWithNullByte.err.exp b/nix-js/tests/tests/lang/eval-fail-fromTOML-keyWithNullByte.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-fromTOML-keyWithNullByte.err.exp rename to nix-js/tests/tests/lang/eval-fail-fromTOML-keyWithNullByte.err.exp diff --git a/nix-js/tests/lang/eval-fail-fromTOML-keyWithNullByte.nix b/nix-js/tests/tests/lang/eval-fail-fromTOML-keyWithNullByte.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-fromTOML-keyWithNullByte.nix rename to nix-js/tests/tests/lang/eval-fail-fromTOML-keyWithNullByte.nix diff --git a/nix-js/tests/lang/eval-fail-fromTOML-timestamps.err.exp b/nix-js/tests/tests/lang/eval-fail-fromTOML-timestamps.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-fromTOML-timestamps.err.exp rename to nix-js/tests/tests/lang/eval-fail-fromTOML-timestamps.err.exp diff --git a/nix-js/tests/lang/eval-fail-fromTOML-timestamps.nix b/nix-js/tests/tests/lang/eval-fail-fromTOML-timestamps.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-fromTOML-timestamps.nix rename to nix-js/tests/tests/lang/eval-fail-fromTOML-timestamps.nix diff --git a/nix-js/tests/lang/eval-fail-fromTOML-valueWithNullByte.err.exp b/nix-js/tests/tests/lang/eval-fail-fromTOML-valueWithNullByte.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-fromTOML-valueWithNullByte.err.exp rename to nix-js/tests/tests/lang/eval-fail-fromTOML-valueWithNullByte.err.exp diff --git a/nix-js/tests/lang/eval-fail-fromTOML-valueWithNullByte.nix b/nix-js/tests/tests/lang/eval-fail-fromTOML-valueWithNullByte.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-fromTOML-valueWithNullByte.nix rename to nix-js/tests/tests/lang/eval-fail-fromTOML-valueWithNullByte.nix diff --git a/nix-js/tests/lang/eval-fail-hashfile-missing.err.exp b/nix-js/tests/tests/lang/eval-fail-hashfile-missing.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-hashfile-missing.err.exp rename to nix-js/tests/tests/lang/eval-fail-hashfile-missing.err.exp diff --git a/nix-js/tests/lang/eval-fail-hashfile-missing.nix b/nix-js/tests/tests/lang/eval-fail-hashfile-missing.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-hashfile-missing.nix rename to nix-js/tests/tests/lang/eval-fail-hashfile-missing.nix diff --git a/nix-js/tests/lang/eval-fail-infinite-recursion-lambda.err.exp b/nix-js/tests/tests/lang/eval-fail-infinite-recursion-lambda.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-infinite-recursion-lambda.err.exp rename to nix-js/tests/tests/lang/eval-fail-infinite-recursion-lambda.err.exp diff --git a/nix-js/tests/lang/eval-fail-infinite-recursion-lambda.nix b/nix-js/tests/tests/lang/eval-fail-infinite-recursion-lambda.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-infinite-recursion-lambda.nix rename to nix-js/tests/tests/lang/eval-fail-infinite-recursion-lambda.nix diff --git a/nix-js/tests/lang/eval-fail-list.err.exp b/nix-js/tests/tests/lang/eval-fail-list.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-list.err.exp rename to nix-js/tests/tests/lang/eval-fail-list.err.exp diff --git a/nix-js/tests/lang/eval-fail-list.nix b/nix-js/tests/tests/lang/eval-fail-list.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-list.nix rename to nix-js/tests/tests/lang/eval-fail-list.nix diff --git a/nix-js/tests/lang/eval-fail-missing-arg.err.exp b/nix-js/tests/tests/lang/eval-fail-missing-arg.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-missing-arg.err.exp rename to nix-js/tests/tests/lang/eval-fail-missing-arg.err.exp diff --git a/nix-js/tests/lang/eval-fail-missing-arg.nix b/nix-js/tests/tests/lang/eval-fail-missing-arg.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-missing-arg.nix rename to nix-js/tests/tests/lang/eval-fail-missing-arg.nix diff --git a/nix-js/tests/lang/eval-fail-mutual-recursion.err.exp b/nix-js/tests/tests/lang/eval-fail-mutual-recursion.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-mutual-recursion.err.exp rename to nix-js/tests/tests/lang/eval-fail-mutual-recursion.err.exp diff --git a/nix-js/tests/lang/eval-fail-mutual-recursion.nix b/nix-js/tests/tests/lang/eval-fail-mutual-recursion.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-mutual-recursion.nix rename to nix-js/tests/tests/lang/eval-fail-mutual-recursion.nix diff --git a/nix-js/tests/lang/eval-fail-nested-list-items.err.exp b/nix-js/tests/tests/lang/eval-fail-nested-list-items.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-nested-list-items.err.exp rename to nix-js/tests/tests/lang/eval-fail-nested-list-items.err.exp diff --git a/nix-js/tests/lang/eval-fail-nested-list-items.nix b/nix-js/tests/tests/lang/eval-fail-nested-list-items.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-nested-list-items.nix rename to nix-js/tests/tests/lang/eval-fail-nested-list-items.nix diff --git a/nix-js/tests/lang/eval-fail-nonexist-path.err.exp b/nix-js/tests/tests/lang/eval-fail-nonexist-path.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-nonexist-path.err.exp rename to nix-js/tests/tests/lang/eval-fail-nonexist-path.err.exp diff --git a/nix-js/tests/lang/eval-fail-nonexist-path.nix b/nix-js/tests/tests/lang/eval-fail-nonexist-path.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-nonexist-path.nix rename to nix-js/tests/tests/lang/eval-fail-nonexist-path.nix diff --git a/nix-js/tests/lang/eval-fail-not-throws.err.exp b/nix-js/tests/tests/lang/eval-fail-not-throws.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-not-throws.err.exp rename to nix-js/tests/tests/lang/eval-fail-not-throws.err.exp diff --git a/nix-js/tests/lang/eval-fail-not-throws.nix b/nix-js/tests/tests/lang/eval-fail-not-throws.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-not-throws.nix rename to nix-js/tests/tests/lang/eval-fail-not-throws.nix diff --git a/nix-js/tests/lang/eval-fail-overflowing-add.err.exp b/nix-js/tests/tests/lang/eval-fail-overflowing-add.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-overflowing-add.err.exp rename to nix-js/tests/tests/lang/eval-fail-overflowing-add.err.exp diff --git a/nix-js/tests/lang/eval-fail-overflowing-add.nix b/nix-js/tests/tests/lang/eval-fail-overflowing-add.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-overflowing-add.nix rename to nix-js/tests/tests/lang/eval-fail-overflowing-add.nix diff --git a/nix-js/tests/lang/eval-fail-overflowing-div.err.exp b/nix-js/tests/tests/lang/eval-fail-overflowing-div.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-overflowing-div.err.exp rename to nix-js/tests/tests/lang/eval-fail-overflowing-div.err.exp diff --git a/nix-js/tests/lang/eval-fail-overflowing-div.nix b/nix-js/tests/tests/lang/eval-fail-overflowing-div.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-overflowing-div.nix rename to nix-js/tests/tests/lang/eval-fail-overflowing-div.nix diff --git a/nix-js/tests/lang/eval-fail-overflowing-mul.err.exp b/nix-js/tests/tests/lang/eval-fail-overflowing-mul.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-overflowing-mul.err.exp rename to nix-js/tests/tests/lang/eval-fail-overflowing-mul.err.exp diff --git a/nix-js/tests/lang/eval-fail-overflowing-mul.nix b/nix-js/tests/tests/lang/eval-fail-overflowing-mul.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-overflowing-mul.nix rename to nix-js/tests/tests/lang/eval-fail-overflowing-mul.nix diff --git a/nix-js/tests/lang/eval-fail-overflowing-sub.err.exp b/nix-js/tests/tests/lang/eval-fail-overflowing-sub.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-overflowing-sub.err.exp rename to nix-js/tests/tests/lang/eval-fail-overflowing-sub.err.exp diff --git a/nix-js/tests/lang/eval-fail-overflowing-sub.nix b/nix-js/tests/tests/lang/eval-fail-overflowing-sub.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-overflowing-sub.nix rename to nix-js/tests/tests/lang/eval-fail-overflowing-sub.nix diff --git a/nix-js/tests/lang/eval-fail-path-slash.err.exp b/nix-js/tests/tests/lang/eval-fail-path-slash.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-path-slash.err.exp rename to nix-js/tests/tests/lang/eval-fail-path-slash.err.exp diff --git a/nix-js/tests/lang/eval-fail-path-slash.nix b/nix-js/tests/tests/lang/eval-fail-path-slash.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-path-slash.nix rename to nix-js/tests/tests/lang/eval-fail-path-slash.nix diff --git a/nix-js/tests/lang/eval-fail-pipe-operators.err.exp b/nix-js/tests/tests/lang/eval-fail-pipe-operators.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-pipe-operators.err.exp rename to nix-js/tests/tests/lang/eval-fail-pipe-operators.err.exp diff --git a/nix-js/tests/lang/eval-fail-pipe-operators.nix b/nix-js/tests/tests/lang/eval-fail-pipe-operators.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-pipe-operators.nix rename to nix-js/tests/tests/lang/eval-fail-pipe-operators.nix diff --git a/nix-js/tests/lang/eval-fail-recursion.err.exp b/nix-js/tests/tests/lang/eval-fail-recursion.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-recursion.err.exp rename to nix-js/tests/tests/lang/eval-fail-recursion.err.exp diff --git a/nix-js/tests/lang/eval-fail-recursion.nix b/nix-js/tests/tests/lang/eval-fail-recursion.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-recursion.nix rename to nix-js/tests/tests/lang/eval-fail-recursion.nix diff --git a/nix-js/tests/lang/eval-fail-remove.err.exp b/nix-js/tests/tests/lang/eval-fail-remove.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-remove.err.exp rename to nix-js/tests/tests/lang/eval-fail-remove.err.exp diff --git a/nix-js/tests/lang/eval-fail-remove.nix b/nix-js/tests/tests/lang/eval-fail-remove.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-remove.nix rename to nix-js/tests/tests/lang/eval-fail-remove.nix diff --git a/nix-js/tests/lang/eval-fail-scope-5.err.exp b/nix-js/tests/tests/lang/eval-fail-scope-5.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-scope-5.err.exp rename to nix-js/tests/tests/lang/eval-fail-scope-5.err.exp diff --git a/nix-js/tests/lang/eval-fail-scope-5.nix b/nix-js/tests/tests/lang/eval-fail-scope-5.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-scope-5.nix rename to nix-js/tests/tests/lang/eval-fail-scope-5.nix diff --git a/nix-js/tests/lang/eval-fail-seq.err.exp b/nix-js/tests/tests/lang/eval-fail-seq.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-seq.err.exp rename to nix-js/tests/tests/lang/eval-fail-seq.err.exp diff --git a/nix-js/tests/lang/eval-fail-seq.nix b/nix-js/tests/tests/lang/eval-fail-seq.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-seq.nix rename to nix-js/tests/tests/lang/eval-fail-seq.nix diff --git a/nix-js/tests/lang/eval-fail-set-override.err.exp b/nix-js/tests/tests/lang/eval-fail-set-override.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-set-override.err.exp rename to nix-js/tests/tests/lang/eval-fail-set-override.err.exp diff --git a/nix-js/tests/lang/eval-fail-set-override.nix b/nix-js/tests/tests/lang/eval-fail-set-override.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-set-override.nix rename to nix-js/tests/tests/lang/eval-fail-set-override.nix diff --git a/nix-js/tests/lang/eval-fail-set.err.exp b/nix-js/tests/tests/lang/eval-fail-set.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-set.err.exp rename to nix-js/tests/tests/lang/eval-fail-set.err.exp diff --git a/nix-js/tests/lang/eval-fail-set.nix b/nix-js/tests/tests/lang/eval-fail-set.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-set.nix rename to nix-js/tests/tests/lang/eval-fail-set.nix diff --git a/nix-js/tests/lang/eval-fail-string-nul-1.err.exp b/nix-js/tests/tests/lang/eval-fail-string-nul-1.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-string-nul-1.err.exp rename to nix-js/tests/tests/lang/eval-fail-string-nul-1.err.exp diff --git a/nix-js/tests/lang/eval-fail-string-nul-1.nix b/nix-js/tests/tests/lang/eval-fail-string-nul-1.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-string-nul-1.nix rename to nix-js/tests/tests/lang/eval-fail-string-nul-1.nix diff --git a/nix-js/tests/lang/eval-fail-string-nul-2.err.exp b/nix-js/tests/tests/lang/eval-fail-string-nul-2.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-string-nul-2.err.exp rename to nix-js/tests/tests/lang/eval-fail-string-nul-2.err.exp diff --git a/nix-js/tests/lang/eval-fail-string-nul-2.nix b/nix-js/tests/tests/lang/eval-fail-string-nul-2.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-string-nul-2.nix rename to nix-js/tests/tests/lang/eval-fail-string-nul-2.nix diff --git a/nix-js/tests/lang/eval-fail-substring.err.exp b/nix-js/tests/tests/lang/eval-fail-substring.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-substring.err.exp rename to nix-js/tests/tests/lang/eval-fail-substring.err.exp diff --git a/nix-js/tests/lang/eval-fail-substring.nix b/nix-js/tests/tests/lang/eval-fail-substring.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-substring.nix rename to nix-js/tests/tests/lang/eval-fail-substring.nix diff --git a/nix-js/tests/lang/eval-fail-to-path.err.exp b/nix-js/tests/tests/lang/eval-fail-to-path.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-to-path.err.exp rename to nix-js/tests/tests/lang/eval-fail-to-path.err.exp diff --git a/nix-js/tests/lang/eval-fail-to-path.nix b/nix-js/tests/tests/lang/eval-fail-to-path.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-to-path.nix rename to nix-js/tests/tests/lang/eval-fail-to-path.nix diff --git a/nix-js/tests/lang/eval-fail-toJSON-non-utf-8.err.exp b/nix-js/tests/tests/lang/eval-fail-toJSON-non-utf-8.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-toJSON-non-utf-8.err.exp rename to nix-js/tests/tests/lang/eval-fail-toJSON-non-utf-8.err.exp diff --git a/nix-js/tests/lang/eval-fail-toJSON-non-utf-8.nix b/nix-js/tests/tests/lang/eval-fail-toJSON-non-utf-8.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-toJSON-non-utf-8.nix rename to nix-js/tests/tests/lang/eval-fail-toJSON-non-utf-8.nix diff --git a/nix-js/tests/lang/eval-fail-toJSON.err.exp b/nix-js/tests/tests/lang/eval-fail-toJSON.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-toJSON.err.exp rename to nix-js/tests/tests/lang/eval-fail-toJSON.err.exp diff --git a/nix-js/tests/lang/eval-fail-toJSON.nix b/nix-js/tests/tests/lang/eval-fail-toJSON.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-toJSON.nix rename to nix-js/tests/tests/lang/eval-fail-toJSON.nix diff --git a/nix-js/tests/lang/eval-fail-undeclared-arg.err.exp b/nix-js/tests/tests/lang/eval-fail-undeclared-arg.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-undeclared-arg.err.exp rename to nix-js/tests/tests/lang/eval-fail-undeclared-arg.err.exp diff --git a/nix-js/tests/lang/eval-fail-undeclared-arg.nix b/nix-js/tests/tests/lang/eval-fail-undeclared-arg.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-undeclared-arg.nix rename to nix-js/tests/tests/lang/eval-fail-undeclared-arg.nix diff --git a/nix-js/tests/lang/eval-fail-using-set-as-attr-name.err.exp b/nix-js/tests/tests/lang/eval-fail-using-set-as-attr-name.err.exp similarity index 100% rename from nix-js/tests/lang/eval-fail-using-set-as-attr-name.err.exp rename to nix-js/tests/tests/lang/eval-fail-using-set-as-attr-name.err.exp diff --git a/nix-js/tests/lang/eval-fail-using-set-as-attr-name.nix b/nix-js/tests/tests/lang/eval-fail-using-set-as-attr-name.nix similarity index 100% rename from nix-js/tests/lang/eval-fail-using-set-as-attr-name.nix rename to nix-js/tests/tests/lang/eval-fail-using-set-as-attr-name.nix diff --git a/nix-js/tests/lang/eval-okay-any-all.exp b/nix-js/tests/tests/lang/eval-okay-any-all.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-any-all.exp rename to nix-js/tests/tests/lang/eval-okay-any-all.exp diff --git a/nix-js/tests/lang/eval-okay-any-all.nix b/nix-js/tests/tests/lang/eval-okay-any-all.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-any-all.nix rename to nix-js/tests/tests/lang/eval-okay-any-all.nix diff --git a/nix-js/tests/lang/eval-okay-arithmetic.exp b/nix-js/tests/tests/lang/eval-okay-arithmetic.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-arithmetic.exp rename to nix-js/tests/tests/lang/eval-okay-arithmetic.exp diff --git a/nix-js/tests/lang/eval-okay-arithmetic.nix b/nix-js/tests/tests/lang/eval-okay-arithmetic.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-arithmetic.nix rename to nix-js/tests/tests/lang/eval-okay-arithmetic.nix diff --git a/nix-js/tests/lang/eval-okay-attrnames.exp b/nix-js/tests/tests/lang/eval-okay-attrnames.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-attrnames.exp rename to nix-js/tests/tests/lang/eval-okay-attrnames.exp diff --git a/nix-js/tests/lang/eval-okay-attrnames.nix b/nix-js/tests/tests/lang/eval-okay-attrnames.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-attrnames.nix rename to nix-js/tests/tests/lang/eval-okay-attrnames.nix diff --git a/nix-js/tests/lang/eval-okay-attrs.exp b/nix-js/tests/tests/lang/eval-okay-attrs.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-attrs.exp rename to nix-js/tests/tests/lang/eval-okay-attrs.exp diff --git a/nix-js/tests/lang/eval-okay-attrs.nix b/nix-js/tests/tests/lang/eval-okay-attrs.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-attrs.nix rename to nix-js/tests/tests/lang/eval-okay-attrs.nix diff --git a/nix-js/tests/lang/eval-okay-attrs2.exp b/nix-js/tests/tests/lang/eval-okay-attrs2.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-attrs2.exp rename to nix-js/tests/tests/lang/eval-okay-attrs2.exp diff --git a/nix-js/tests/lang/eval-okay-attrs2.nix b/nix-js/tests/tests/lang/eval-okay-attrs2.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-attrs2.nix rename to nix-js/tests/tests/lang/eval-okay-attrs2.nix diff --git a/nix-js/tests/lang/eval-okay-attrs3.exp b/nix-js/tests/tests/lang/eval-okay-attrs3.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-attrs3.exp rename to nix-js/tests/tests/lang/eval-okay-attrs3.exp diff --git a/nix-js/tests/lang/eval-okay-attrs3.nix b/nix-js/tests/tests/lang/eval-okay-attrs3.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-attrs3.nix rename to nix-js/tests/tests/lang/eval-okay-attrs3.nix diff --git a/nix-js/tests/lang/eval-okay-attrs4.exp b/nix-js/tests/tests/lang/eval-okay-attrs4.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-attrs4.exp rename to nix-js/tests/tests/lang/eval-okay-attrs4.exp diff --git a/nix-js/tests/lang/eval-okay-attrs4.nix b/nix-js/tests/tests/lang/eval-okay-attrs4.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-attrs4.nix rename to nix-js/tests/tests/lang/eval-okay-attrs4.nix diff --git a/nix-js/tests/lang/eval-okay-attrs5.exp b/nix-js/tests/tests/lang/eval-okay-attrs5.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-attrs5.exp rename to nix-js/tests/tests/lang/eval-okay-attrs5.exp diff --git a/nix-js/tests/lang/eval-okay-attrs5.nix b/nix-js/tests/tests/lang/eval-okay-attrs5.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-attrs5.nix rename to nix-js/tests/tests/lang/eval-okay-attrs5.nix diff --git a/nix-js/tests/lang/eval-okay-attrs6.exp b/nix-js/tests/tests/lang/eval-okay-attrs6.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-attrs6.exp rename to nix-js/tests/tests/lang/eval-okay-attrs6.exp diff --git a/nix-js/tests/lang/eval-okay-attrs6.nix b/nix-js/tests/tests/lang/eval-okay-attrs6.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-attrs6.nix rename to nix-js/tests/tests/lang/eval-okay-attrs6.nix diff --git a/nix-js/tests/lang/eval-okay-autoargs.exp b/nix-js/tests/tests/lang/eval-okay-autoargs.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-autoargs.exp rename to nix-js/tests/tests/lang/eval-okay-autoargs.exp diff --git a/nix-js/tests/lang/eval-okay-autoargs.nix b/nix-js/tests/tests/lang/eval-okay-autoargs.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-autoargs.nix rename to nix-js/tests/tests/lang/eval-okay-autoargs.nix diff --git a/nix-js/tests/lang/eval-okay-backslash-newline-1.exp b/nix-js/tests/tests/lang/eval-okay-backslash-newline-1.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-backslash-newline-1.exp rename to nix-js/tests/tests/lang/eval-okay-backslash-newline-1.exp diff --git a/nix-js/tests/lang/eval-okay-backslash-newline-1.nix b/nix-js/tests/tests/lang/eval-okay-backslash-newline-1.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-backslash-newline-1.nix rename to nix-js/tests/tests/lang/eval-okay-backslash-newline-1.nix diff --git a/nix-js/tests/lang/eval-okay-backslash-newline-2.exp b/nix-js/tests/tests/lang/eval-okay-backslash-newline-2.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-backslash-newline-2.exp rename to nix-js/tests/tests/lang/eval-okay-backslash-newline-2.exp diff --git a/nix-js/tests/lang/eval-okay-backslash-newline-2.nix b/nix-js/tests/tests/lang/eval-okay-backslash-newline-2.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-backslash-newline-2.nix rename to nix-js/tests/tests/lang/eval-okay-backslash-newline-2.nix diff --git a/nix-js/tests/lang/eval-okay-baseNameOf.exp b/nix-js/tests/tests/lang/eval-okay-baseNameOf.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-baseNameOf.exp rename to nix-js/tests/tests/lang/eval-okay-baseNameOf.exp diff --git a/nix-js/tests/lang/eval-okay-baseNameOf.nix b/nix-js/tests/tests/lang/eval-okay-baseNameOf.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-baseNameOf.nix rename to nix-js/tests/tests/lang/eval-okay-baseNameOf.nix diff --git a/nix-js/tests/lang/eval-okay-builtins-add.exp b/nix-js/tests/tests/lang/eval-okay-builtins-add.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-builtins-add.exp rename to nix-js/tests/tests/lang/eval-okay-builtins-add.exp diff --git a/nix-js/tests/lang/eval-okay-builtins-add.nix b/nix-js/tests/tests/lang/eval-okay-builtins-add.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-builtins-add.nix rename to nix-js/tests/tests/lang/eval-okay-builtins-add.nix diff --git a/nix-js/tests/lang/eval-okay-builtins.exp b/nix-js/tests/tests/lang/eval-okay-builtins.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-builtins.exp rename to nix-js/tests/tests/lang/eval-okay-builtins.exp diff --git a/nix-js/tests/lang/eval-okay-builtins.nix b/nix-js/tests/tests/lang/eval-okay-builtins.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-builtins.nix rename to nix-js/tests/tests/lang/eval-okay-builtins.nix diff --git a/nix-js/tests/lang/eval-okay-callable-attrs.exp b/nix-js/tests/tests/lang/eval-okay-callable-attrs.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-callable-attrs.exp rename to nix-js/tests/tests/lang/eval-okay-callable-attrs.exp diff --git a/nix-js/tests/lang/eval-okay-callable-attrs.nix b/nix-js/tests/tests/lang/eval-okay-callable-attrs.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-callable-attrs.nix rename to nix-js/tests/tests/lang/eval-okay-callable-attrs.nix diff --git a/nix-js/tests/lang/eval-okay-catattrs.exp b/nix-js/tests/tests/lang/eval-okay-catattrs.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-catattrs.exp rename to nix-js/tests/tests/lang/eval-okay-catattrs.exp diff --git a/nix-js/tests/lang/eval-okay-catattrs.nix b/nix-js/tests/tests/lang/eval-okay-catattrs.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-catattrs.nix rename to nix-js/tests/tests/lang/eval-okay-catattrs.nix diff --git a/nix-js/tests/lang/eval-okay-closure.exp b/nix-js/tests/tests/lang/eval-okay-closure.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-closure.exp rename to nix-js/tests/tests/lang/eval-okay-closure.exp diff --git a/nix-js/tests/lang/eval-okay-closure.nix b/nix-js/tests/tests/lang/eval-okay-closure.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-closure.nix rename to nix-js/tests/tests/lang/eval-okay-closure.nix diff --git a/nix-js/tests/lang/eval-okay-comments.exp b/nix-js/tests/tests/lang/eval-okay-comments.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-comments.exp rename to nix-js/tests/tests/lang/eval-okay-comments.exp diff --git a/nix-js/tests/lang/eval-okay-comments.nix b/nix-js/tests/tests/lang/eval-okay-comments.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-comments.nix rename to nix-js/tests/tests/lang/eval-okay-comments.nix diff --git a/nix-js/tests/lang/eval-okay-concat.exp b/nix-js/tests/tests/lang/eval-okay-concat.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-concat.exp rename to nix-js/tests/tests/lang/eval-okay-concat.exp diff --git a/nix-js/tests/lang/eval-okay-concat.nix b/nix-js/tests/tests/lang/eval-okay-concat.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-concat.nix rename to nix-js/tests/tests/lang/eval-okay-concat.nix diff --git a/nix-js/tests/lang/eval-okay-concatmap.exp b/nix-js/tests/tests/lang/eval-okay-concatmap.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-concatmap.exp rename to nix-js/tests/tests/lang/eval-okay-concatmap.exp diff --git a/nix-js/tests/lang/eval-okay-concatmap.nix b/nix-js/tests/tests/lang/eval-okay-concatmap.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-concatmap.nix rename to nix-js/tests/tests/lang/eval-okay-concatmap.nix diff --git a/nix-js/tests/lang/eval-okay-concatstringssep.exp b/nix-js/tests/tests/lang/eval-okay-concatstringssep.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-concatstringssep.exp rename to nix-js/tests/tests/lang/eval-okay-concatstringssep.exp diff --git a/nix-js/tests/lang/eval-okay-concatstringssep.nix b/nix-js/tests/tests/lang/eval-okay-concatstringssep.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-concatstringssep.nix rename to nix-js/tests/tests/lang/eval-okay-concatstringssep.nix diff --git a/nix-js/tests/lang/eval-okay-context-introspection.exp b/nix-js/tests/tests/lang/eval-okay-context-introspection.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-context-introspection.exp rename to nix-js/tests/tests/lang/eval-okay-context-introspection.exp diff --git a/nix-js/tests/lang/eval-okay-context-introspection.nix b/nix-js/tests/tests/lang/eval-okay-context-introspection.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-context-introspection.nix rename to nix-js/tests/tests/lang/eval-okay-context-introspection.nix diff --git a/nix-js/tests/lang/eval-okay-context.exp b/nix-js/tests/tests/lang/eval-okay-context.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-context.exp rename to nix-js/tests/tests/lang/eval-okay-context.exp diff --git a/nix-js/tests/lang/eval-okay-context.nix b/nix-js/tests/tests/lang/eval-okay-context.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-context.nix rename to nix-js/tests/tests/lang/eval-okay-context.nix diff --git a/nix-js/tests/lang/eval-okay-convertHash.err.exp b/nix-js/tests/tests/lang/eval-okay-convertHash.err.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-convertHash.err.exp rename to nix-js/tests/tests/lang/eval-okay-convertHash.err.exp diff --git a/nix-js/tests/lang/eval-okay-convertHash.exp b/nix-js/tests/tests/lang/eval-okay-convertHash.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-convertHash.exp rename to nix-js/tests/tests/lang/eval-okay-convertHash.exp diff --git a/nix-js/tests/lang/eval-okay-convertHash.nix b/nix-js/tests/tests/lang/eval-okay-convertHash.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-convertHash.nix rename to nix-js/tests/tests/lang/eval-okay-convertHash.nix diff --git a/nix-js/tests/lang/eval-okay-curpos.exp b/nix-js/tests/tests/lang/eval-okay-curpos.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-curpos.exp rename to nix-js/tests/tests/lang/eval-okay-curpos.exp diff --git a/nix-js/tests/lang/eval-okay-curpos.nix b/nix-js/tests/tests/lang/eval-okay-curpos.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-curpos.nix rename to nix-js/tests/tests/lang/eval-okay-curpos.nix diff --git a/nix-js/tests/lang/eval-okay-deepseq.exp b/nix-js/tests/tests/lang/eval-okay-deepseq.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-deepseq.exp rename to nix-js/tests/tests/lang/eval-okay-deepseq.exp diff --git a/nix-js/tests/lang/eval-okay-deepseq.nix b/nix-js/tests/tests/lang/eval-okay-deepseq.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-deepseq.nix rename to nix-js/tests/tests/lang/eval-okay-deepseq.nix diff --git a/nix-js/tests/lang/eval-okay-delayed-with-inherit.exp b/nix-js/tests/tests/lang/eval-okay-delayed-with-inherit.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-delayed-with-inherit.exp rename to nix-js/tests/tests/lang/eval-okay-delayed-with-inherit.exp diff --git a/nix-js/tests/lang/eval-okay-delayed-with-inherit.nix b/nix-js/tests/tests/lang/eval-okay-delayed-with-inherit.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-delayed-with-inherit.nix rename to nix-js/tests/tests/lang/eval-okay-delayed-with-inherit.nix diff --git a/nix-js/tests/lang/eval-okay-delayed-with.exp b/nix-js/tests/tests/lang/eval-okay-delayed-with.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-delayed-with.exp rename to nix-js/tests/tests/lang/eval-okay-delayed-with.exp diff --git a/nix-js/tests/lang/eval-okay-delayed-with.nix b/nix-js/tests/tests/lang/eval-okay-delayed-with.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-delayed-with.nix rename to nix-js/tests/tests/lang/eval-okay-delayed-with.nix diff --git a/nix-js/tests/lang/eval-okay-deprecate-cursed-or.err.exp b/nix-js/tests/tests/lang/eval-okay-deprecate-cursed-or.err.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-deprecate-cursed-or.err.exp rename to nix-js/tests/tests/lang/eval-okay-deprecate-cursed-or.err.exp diff --git a/nix-js/tests/lang/eval-okay-deprecate-cursed-or.exp b/nix-js/tests/tests/lang/eval-okay-deprecate-cursed-or.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-deprecate-cursed-or.exp rename to nix-js/tests/tests/lang/eval-okay-deprecate-cursed-or.exp diff --git a/nix-js/tests/lang/eval-okay-deprecate-cursed-or.nix b/nix-js/tests/tests/lang/eval-okay-deprecate-cursed-or.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-deprecate-cursed-or.nix rename to nix-js/tests/tests/lang/eval-okay-deprecate-cursed-or.nix diff --git a/nix-js/tests/lang/eval-okay-derivation-legacy.err.exp b/nix-js/tests/tests/lang/eval-okay-derivation-legacy.err.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-derivation-legacy.err.exp rename to nix-js/tests/tests/lang/eval-okay-derivation-legacy.err.exp diff --git a/nix-js/tests/lang/eval-okay-derivation-legacy.exp b/nix-js/tests/tests/lang/eval-okay-derivation-legacy.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-derivation-legacy.exp rename to nix-js/tests/tests/lang/eval-okay-derivation-legacy.exp diff --git a/nix-js/tests/lang/eval-okay-derivation-legacy.nix b/nix-js/tests/tests/lang/eval-okay-derivation-legacy.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-derivation-legacy.nix rename to nix-js/tests/tests/lang/eval-okay-derivation-legacy.nix diff --git a/nix-js/tests/lang/eval-okay-dynamic-attrs-2.exp b/nix-js/tests/tests/lang/eval-okay-dynamic-attrs-2.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-dynamic-attrs-2.exp rename to nix-js/tests/tests/lang/eval-okay-dynamic-attrs-2.exp diff --git a/nix-js/tests/lang/eval-okay-dynamic-attrs-2.nix b/nix-js/tests/tests/lang/eval-okay-dynamic-attrs-2.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-dynamic-attrs-2.nix rename to nix-js/tests/tests/lang/eval-okay-dynamic-attrs-2.nix diff --git a/nix-js/tests/lang/eval-okay-dynamic-attrs-bare.exp b/nix-js/tests/tests/lang/eval-okay-dynamic-attrs-bare.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-dynamic-attrs-bare.exp rename to nix-js/tests/tests/lang/eval-okay-dynamic-attrs-bare.exp diff --git a/nix-js/tests/lang/eval-okay-dynamic-attrs-bare.nix b/nix-js/tests/tests/lang/eval-okay-dynamic-attrs-bare.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-dynamic-attrs-bare.nix rename to nix-js/tests/tests/lang/eval-okay-dynamic-attrs-bare.nix diff --git a/nix-js/tests/lang/eval-okay-dynamic-attrs.exp b/nix-js/tests/tests/lang/eval-okay-dynamic-attrs.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-dynamic-attrs.exp rename to nix-js/tests/tests/lang/eval-okay-dynamic-attrs.exp diff --git a/nix-js/tests/lang/eval-okay-dynamic-attrs.nix b/nix-js/tests/tests/lang/eval-okay-dynamic-attrs.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-dynamic-attrs.nix rename to nix-js/tests/tests/lang/eval-okay-dynamic-attrs.nix diff --git a/nix-js/tests/lang/eval-okay-elem.exp b/nix-js/tests/tests/lang/eval-okay-elem.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-elem.exp rename to nix-js/tests/tests/lang/eval-okay-elem.exp diff --git a/nix-js/tests/lang/eval-okay-elem.nix b/nix-js/tests/tests/lang/eval-okay-elem.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-elem.nix rename to nix-js/tests/tests/lang/eval-okay-elem.nix diff --git a/nix-js/tests/lang/eval-okay-empty-args.exp b/nix-js/tests/tests/lang/eval-okay-empty-args.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-empty-args.exp rename to nix-js/tests/tests/lang/eval-okay-empty-args.exp diff --git a/nix-js/tests/lang/eval-okay-empty-args.nix b/nix-js/tests/tests/lang/eval-okay-empty-args.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-empty-args.nix rename to nix-js/tests/tests/lang/eval-okay-empty-args.nix diff --git a/nix-js/tests/lang/eval-okay-eq-derivations.exp b/nix-js/tests/tests/lang/eval-okay-eq-derivations.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-eq-derivations.exp rename to nix-js/tests/tests/lang/eval-okay-eq-derivations.exp diff --git a/nix-js/tests/lang/eval-okay-eq-derivations.nix b/nix-js/tests/tests/lang/eval-okay-eq-derivations.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-eq-derivations.nix rename to nix-js/tests/tests/lang/eval-okay-eq-derivations.nix diff --git a/nix-js/tests/lang/eval-okay-eq.exp b/nix-js/tests/tests/lang/eval-okay-eq.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-eq.exp rename to nix-js/tests/tests/lang/eval-okay-eq.exp diff --git a/nix-js/tests/lang/eval-okay-eq.nix b/nix-js/tests/tests/lang/eval-okay-eq.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-eq.nix rename to nix-js/tests/tests/lang/eval-okay-eq.nix diff --git a/nix-js/tests/lang/eval-okay-filter.exp b/nix-js/tests/tests/lang/eval-okay-filter.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-filter.exp rename to nix-js/tests/tests/lang/eval-okay-filter.exp diff --git a/nix-js/tests/lang/eval-okay-filter.nix b/nix-js/tests/tests/lang/eval-okay-filter.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-filter.nix rename to nix-js/tests/tests/lang/eval-okay-filter.nix diff --git a/nix-js/tests/lang/eval-okay-flake-ref-to-string.exp b/nix-js/tests/tests/lang/eval-okay-flake-ref-to-string.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-flake-ref-to-string.exp rename to nix-js/tests/tests/lang/eval-okay-flake-ref-to-string.exp diff --git a/nix-js/tests/lang/eval-okay-flake-ref-to-string.nix b/nix-js/tests/tests/lang/eval-okay-flake-ref-to-string.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-flake-ref-to-string.nix rename to nix-js/tests/tests/lang/eval-okay-flake-ref-to-string.nix diff --git a/nix-js/tests/lang/eval-okay-flatten.exp b/nix-js/tests/tests/lang/eval-okay-flatten.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-flatten.exp rename to nix-js/tests/tests/lang/eval-okay-flatten.exp diff --git a/nix-js/tests/lang/eval-okay-flatten.nix b/nix-js/tests/tests/lang/eval-okay-flatten.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-flatten.nix rename to nix-js/tests/tests/lang/eval-okay-flatten.nix diff --git a/nix-js/tests/lang/eval-okay-float.exp b/nix-js/tests/tests/lang/eval-okay-float.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-float.exp rename to nix-js/tests/tests/lang/eval-okay-float.exp diff --git a/nix-js/tests/lang/eval-okay-float.nix b/nix-js/tests/tests/lang/eval-okay-float.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-float.nix rename to nix-js/tests/tests/lang/eval-okay-float.nix diff --git a/nix-js/tests/lang/eval-okay-floor-ceil.exp b/nix-js/tests/tests/lang/eval-okay-floor-ceil.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-floor-ceil.exp rename to nix-js/tests/tests/lang/eval-okay-floor-ceil.exp diff --git a/nix-js/tests/lang/eval-okay-floor-ceil.nix b/nix-js/tests/tests/lang/eval-okay-floor-ceil.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-floor-ceil.nix rename to nix-js/tests/tests/lang/eval-okay-floor-ceil.nix diff --git a/nix-js/tests/lang/eval-okay-foldlStrict-lazy-elements.exp b/nix-js/tests/tests/lang/eval-okay-foldlStrict-lazy-elements.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-foldlStrict-lazy-elements.exp rename to nix-js/tests/tests/lang/eval-okay-foldlStrict-lazy-elements.exp diff --git a/nix-js/tests/lang/eval-okay-foldlStrict-lazy-elements.nix b/nix-js/tests/tests/lang/eval-okay-foldlStrict-lazy-elements.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-foldlStrict-lazy-elements.nix rename to nix-js/tests/tests/lang/eval-okay-foldlStrict-lazy-elements.nix diff --git a/nix-js/tests/lang/eval-okay-foldlStrict-lazy-initial-accumulator.exp b/nix-js/tests/tests/lang/eval-okay-foldlStrict-lazy-initial-accumulator.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-foldlStrict-lazy-initial-accumulator.exp rename to nix-js/tests/tests/lang/eval-okay-foldlStrict-lazy-initial-accumulator.exp diff --git a/nix-js/tests/lang/eval-okay-foldlStrict-lazy-initial-accumulator.nix b/nix-js/tests/tests/lang/eval-okay-foldlStrict-lazy-initial-accumulator.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-foldlStrict-lazy-initial-accumulator.nix rename to nix-js/tests/tests/lang/eval-okay-foldlStrict-lazy-initial-accumulator.nix diff --git a/nix-js/tests/lang/eval-okay-foldlStrict.exp b/nix-js/tests/tests/lang/eval-okay-foldlStrict.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-foldlStrict.exp rename to nix-js/tests/tests/lang/eval-okay-foldlStrict.exp diff --git a/nix-js/tests/lang/eval-okay-foldlStrict.nix b/nix-js/tests/tests/lang/eval-okay-foldlStrict.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-foldlStrict.nix rename to nix-js/tests/tests/lang/eval-okay-foldlStrict.nix diff --git a/nix-js/tests/lang/eval-okay-fromTOML-timestamps.exp b/nix-js/tests/tests/lang/eval-okay-fromTOML-timestamps.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-fromTOML-timestamps.exp rename to nix-js/tests/tests/lang/eval-okay-fromTOML-timestamps.exp diff --git a/nix-js/tests/lang/eval-okay-fromTOML-timestamps.nix b/nix-js/tests/tests/lang/eval-okay-fromTOML-timestamps.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-fromTOML-timestamps.nix rename to nix-js/tests/tests/lang/eval-okay-fromTOML-timestamps.nix diff --git a/nix-js/tests/lang/eval-okay-fromTOML.exp b/nix-js/tests/tests/lang/eval-okay-fromTOML.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-fromTOML.exp rename to nix-js/tests/tests/lang/eval-okay-fromTOML.exp diff --git a/nix-js/tests/lang/eval-okay-fromTOML.nix b/nix-js/tests/tests/lang/eval-okay-fromTOML.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-fromTOML.nix rename to nix-js/tests/tests/lang/eval-okay-fromTOML.nix diff --git a/nix-js/tests/lang/eval-okay-fromjson-escapes.exp b/nix-js/tests/tests/lang/eval-okay-fromjson-escapes.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-fromjson-escapes.exp rename to nix-js/tests/tests/lang/eval-okay-fromjson-escapes.exp diff --git a/nix-js/tests/lang/eval-okay-fromjson-escapes.nix b/nix-js/tests/tests/lang/eval-okay-fromjson-escapes.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-fromjson-escapes.nix rename to nix-js/tests/tests/lang/eval-okay-fromjson-escapes.nix diff --git a/nix-js/tests/lang/eval-okay-fromjson.exp b/nix-js/tests/tests/lang/eval-okay-fromjson.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-fromjson.exp rename to nix-js/tests/tests/lang/eval-okay-fromjson.exp diff --git a/nix-js/tests/lang/eval-okay-fromjson.nix b/nix-js/tests/tests/lang/eval-okay-fromjson.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-fromjson.nix rename to nix-js/tests/tests/lang/eval-okay-fromjson.nix diff --git a/nix-js/tests/lang/eval-okay-functionargs.exp b/nix-js/tests/tests/lang/eval-okay-functionargs.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-functionargs.exp rename to nix-js/tests/tests/lang/eval-okay-functionargs.exp diff --git a/nix-js/tests/lang/eval-okay-functionargs.nix b/nix-js/tests/tests/lang/eval-okay-functionargs.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-functionargs.nix rename to nix-js/tests/tests/lang/eval-okay-functionargs.nix diff --git a/nix-js/tests/lang/eval-okay-getattrpos-functionargs.exp b/nix-js/tests/tests/lang/eval-okay-getattrpos-functionargs.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-getattrpos-functionargs.exp rename to nix-js/tests/tests/lang/eval-okay-getattrpos-functionargs.exp diff --git a/nix-js/tests/lang/eval-okay-getattrpos-functionargs.nix b/nix-js/tests/tests/lang/eval-okay-getattrpos-functionargs.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-getattrpos-functionargs.nix rename to nix-js/tests/tests/lang/eval-okay-getattrpos-functionargs.nix diff --git a/nix-js/tests/lang/eval-okay-getattrpos-undefined.exp b/nix-js/tests/tests/lang/eval-okay-getattrpos-undefined.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-getattrpos-undefined.exp rename to nix-js/tests/tests/lang/eval-okay-getattrpos-undefined.exp diff --git a/nix-js/tests/lang/eval-okay-getattrpos-undefined.nix b/nix-js/tests/tests/lang/eval-okay-getattrpos-undefined.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-getattrpos-undefined.nix rename to nix-js/tests/tests/lang/eval-okay-getattrpos-undefined.nix diff --git a/nix-js/tests/lang/eval-okay-getattrpos.exp b/nix-js/tests/tests/lang/eval-okay-getattrpos.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-getattrpos.exp rename to nix-js/tests/tests/lang/eval-okay-getattrpos.exp diff --git a/nix-js/tests/lang/eval-okay-getattrpos.nix b/nix-js/tests/tests/lang/eval-okay-getattrpos.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-getattrpos.nix rename to nix-js/tests/tests/lang/eval-okay-getattrpos.nix diff --git a/nix-js/tests/lang/eval-okay-getenv.exp b/nix-js/tests/tests/lang/eval-okay-getenv.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-getenv.exp rename to nix-js/tests/tests/lang/eval-okay-getenv.exp diff --git a/nix-js/tests/lang/eval-okay-getenv.nix b/nix-js/tests/tests/lang/eval-okay-getenv.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-getenv.nix rename to nix-js/tests/tests/lang/eval-okay-getenv.nix diff --git a/nix-js/tests/lang/eval-okay-groupBy.exp b/nix-js/tests/tests/lang/eval-okay-groupBy.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-groupBy.exp rename to nix-js/tests/tests/lang/eval-okay-groupBy.exp diff --git a/nix-js/tests/lang/eval-okay-groupBy.nix b/nix-js/tests/tests/lang/eval-okay-groupBy.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-groupBy.nix rename to nix-js/tests/tests/lang/eval-okay-groupBy.nix diff --git a/nix-js/tests/lang/eval-okay-hash.exp b/nix-js/tests/tests/lang/eval-okay-hash.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-hash.exp rename to nix-js/tests/tests/lang/eval-okay-hash.exp diff --git a/nix-js/tests/lang/eval-okay-hashfile.exp b/nix-js/tests/tests/lang/eval-okay-hashfile.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-hashfile.exp rename to nix-js/tests/tests/lang/eval-okay-hashfile.exp diff --git a/nix-js/tests/lang/eval-okay-hashfile.nix b/nix-js/tests/tests/lang/eval-okay-hashfile.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-hashfile.nix rename to nix-js/tests/tests/lang/eval-okay-hashfile.nix diff --git a/nix-js/tests/lang/eval-okay-hashstring.exp b/nix-js/tests/tests/lang/eval-okay-hashstring.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-hashstring.exp rename to nix-js/tests/tests/lang/eval-okay-hashstring.exp diff --git a/nix-js/tests/lang/eval-okay-hashstring.nix b/nix-js/tests/tests/lang/eval-okay-hashstring.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-hashstring.nix rename to nix-js/tests/tests/lang/eval-okay-hashstring.nix diff --git a/nix-js/tests/lang/eval-okay-if.exp b/nix-js/tests/tests/lang/eval-okay-if.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-if.exp rename to nix-js/tests/tests/lang/eval-okay-if.exp diff --git a/nix-js/tests/lang/eval-okay-if.nix b/nix-js/tests/tests/lang/eval-okay-if.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-if.nix rename to nix-js/tests/tests/lang/eval-okay-if.nix diff --git a/nix-js/tests/lang/eval-okay-import.exp b/nix-js/tests/tests/lang/eval-okay-import.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-import.exp rename to nix-js/tests/tests/lang/eval-okay-import.exp diff --git a/nix-js/tests/lang/eval-okay-import.nix b/nix-js/tests/tests/lang/eval-okay-import.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-import.nix rename to nix-js/tests/tests/lang/eval-okay-import.nix diff --git a/nix-js/tests/lang/eval-okay-ind-string.exp b/nix-js/tests/tests/lang/eval-okay-ind-string.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-ind-string.exp rename to nix-js/tests/tests/lang/eval-okay-ind-string.exp diff --git a/nix-js/tests/lang/eval-okay-ind-string.nix b/nix-js/tests/tests/lang/eval-okay-ind-string.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-ind-string.nix rename to nix-js/tests/tests/lang/eval-okay-ind-string.nix diff --git a/nix-js/tests/lang/eval-okay-inherit-attr-pos.exp b/nix-js/tests/tests/lang/eval-okay-inherit-attr-pos.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-inherit-attr-pos.exp rename to nix-js/tests/tests/lang/eval-okay-inherit-attr-pos.exp diff --git a/nix-js/tests/lang/eval-okay-inherit-attr-pos.nix b/nix-js/tests/tests/lang/eval-okay-inherit-attr-pos.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-inherit-attr-pos.nix rename to nix-js/tests/tests/lang/eval-okay-inherit-attr-pos.nix diff --git a/nix-js/tests/lang/eval-okay-inherit-from.err.exp b/nix-js/tests/tests/lang/eval-okay-inherit-from.err.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-inherit-from.err.exp rename to nix-js/tests/tests/lang/eval-okay-inherit-from.err.exp diff --git a/nix-js/tests/lang/eval-okay-inherit-from.exp b/nix-js/tests/tests/lang/eval-okay-inherit-from.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-inherit-from.exp rename to nix-js/tests/tests/lang/eval-okay-inherit-from.exp diff --git a/nix-js/tests/lang/eval-okay-inherit-from.nix b/nix-js/tests/tests/lang/eval-okay-inherit-from.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-inherit-from.nix rename to nix-js/tests/tests/lang/eval-okay-inherit-from.nix diff --git a/nix-js/tests/lang/eval-okay-intersectAttrs.exp b/nix-js/tests/tests/lang/eval-okay-intersectAttrs.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-intersectAttrs.exp rename to nix-js/tests/tests/lang/eval-okay-intersectAttrs.exp diff --git a/nix-js/tests/lang/eval-okay-intersectAttrs.nix b/nix-js/tests/tests/lang/eval-okay-intersectAttrs.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-intersectAttrs.nix rename to nix-js/tests/tests/lang/eval-okay-intersectAttrs.nix diff --git a/nix-js/tests/lang/eval-okay-let.exp b/nix-js/tests/tests/lang/eval-okay-let.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-let.exp rename to nix-js/tests/tests/lang/eval-okay-let.exp diff --git a/nix-js/tests/lang/eval-okay-let.nix b/nix-js/tests/tests/lang/eval-okay-let.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-let.nix rename to nix-js/tests/tests/lang/eval-okay-let.nix diff --git a/nix-js/tests/lang/eval-okay-list.exp b/nix-js/tests/tests/lang/eval-okay-list.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-list.exp rename to nix-js/tests/tests/lang/eval-okay-list.exp diff --git a/nix-js/tests/lang/eval-okay-list.nix b/nix-js/tests/tests/lang/eval-okay-list.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-list.nix rename to nix-js/tests/tests/lang/eval-okay-list.nix diff --git a/nix-js/tests/lang/eval-okay-listtoattrs.exp b/nix-js/tests/tests/lang/eval-okay-listtoattrs.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-listtoattrs.exp rename to nix-js/tests/tests/lang/eval-okay-listtoattrs.exp diff --git a/nix-js/tests/lang/eval-okay-listtoattrs.nix b/nix-js/tests/tests/lang/eval-okay-listtoattrs.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-listtoattrs.nix rename to nix-js/tests/tests/lang/eval-okay-listtoattrs.nix diff --git a/nix-js/tests/lang/eval-okay-logic.exp b/nix-js/tests/tests/lang/eval-okay-logic.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-logic.exp rename to nix-js/tests/tests/lang/eval-okay-logic.exp diff --git a/nix-js/tests/lang/eval-okay-logic.nix b/nix-js/tests/tests/lang/eval-okay-logic.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-logic.nix rename to nix-js/tests/tests/lang/eval-okay-logic.nix diff --git a/nix-js/tests/lang/eval-okay-map.exp b/nix-js/tests/tests/lang/eval-okay-map.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-map.exp rename to nix-js/tests/tests/lang/eval-okay-map.exp diff --git a/nix-js/tests/lang/eval-okay-map.nix b/nix-js/tests/tests/lang/eval-okay-map.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-map.nix rename to nix-js/tests/tests/lang/eval-okay-map.nix diff --git a/nix-js/tests/lang/eval-okay-mapattrs.exp b/nix-js/tests/tests/lang/eval-okay-mapattrs.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-mapattrs.exp rename to nix-js/tests/tests/lang/eval-okay-mapattrs.exp diff --git a/nix-js/tests/lang/eval-okay-mapattrs.nix b/nix-js/tests/tests/lang/eval-okay-mapattrs.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-mapattrs.nix rename to nix-js/tests/tests/lang/eval-okay-mapattrs.nix diff --git a/nix-js/tests/lang/eval-okay-merge-dynamic-attrs.exp b/nix-js/tests/tests/lang/eval-okay-merge-dynamic-attrs.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-merge-dynamic-attrs.exp rename to nix-js/tests/tests/lang/eval-okay-merge-dynamic-attrs.exp diff --git a/nix-js/tests/lang/eval-okay-merge-dynamic-attrs.nix b/nix-js/tests/tests/lang/eval-okay-merge-dynamic-attrs.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-merge-dynamic-attrs.nix rename to nix-js/tests/tests/lang/eval-okay-merge-dynamic-attrs.nix diff --git a/nix-js/tests/lang/eval-okay-nested-with.exp b/nix-js/tests/tests/lang/eval-okay-nested-with.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-nested-with.exp rename to nix-js/tests/tests/lang/eval-okay-nested-with.exp diff --git a/nix-js/tests/lang/eval-okay-nested-with.nix b/nix-js/tests/tests/lang/eval-okay-nested-with.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-nested-with.nix rename to nix-js/tests/tests/lang/eval-okay-nested-with.nix diff --git a/nix-js/tests/lang/eval-okay-new-let.exp b/nix-js/tests/tests/lang/eval-okay-new-let.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-new-let.exp rename to nix-js/tests/tests/lang/eval-okay-new-let.exp diff --git a/nix-js/tests/lang/eval-okay-new-let.nix b/nix-js/tests/tests/lang/eval-okay-new-let.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-new-let.nix rename to nix-js/tests/tests/lang/eval-okay-new-let.nix diff --git a/nix-js/tests/lang/eval-okay-null-dynamic-attrs.exp b/nix-js/tests/tests/lang/eval-okay-null-dynamic-attrs.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-null-dynamic-attrs.exp rename to nix-js/tests/tests/lang/eval-okay-null-dynamic-attrs.exp diff --git a/nix-js/tests/lang/eval-okay-null-dynamic-attrs.nix b/nix-js/tests/tests/lang/eval-okay-null-dynamic-attrs.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-null-dynamic-attrs.nix rename to nix-js/tests/tests/lang/eval-okay-null-dynamic-attrs.nix diff --git a/nix-js/tests/lang/eval-okay-overrides.exp b/nix-js/tests/tests/lang/eval-okay-overrides.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-overrides.exp rename to nix-js/tests/tests/lang/eval-okay-overrides.exp diff --git a/nix-js/tests/lang/eval-okay-overrides.nix b/nix-js/tests/tests/lang/eval-okay-overrides.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-overrides.nix rename to nix-js/tests/tests/lang/eval-okay-overrides.nix diff --git a/nix-js/tests/lang/eval-okay-parse-flake-ref.exp b/nix-js/tests/tests/lang/eval-okay-parse-flake-ref.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-parse-flake-ref.exp rename to nix-js/tests/tests/lang/eval-okay-parse-flake-ref.exp diff --git a/nix-js/tests/lang/eval-okay-parse-flake-ref.nix b/nix-js/tests/tests/lang/eval-okay-parse-flake-ref.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-parse-flake-ref.nix rename to nix-js/tests/tests/lang/eval-okay-parse-flake-ref.nix diff --git a/nix-js/tests/lang/eval-okay-partition.exp b/nix-js/tests/tests/lang/eval-okay-partition.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-partition.exp rename to nix-js/tests/tests/lang/eval-okay-partition.exp diff --git a/nix-js/tests/lang/eval-okay-partition.nix b/nix-js/tests/tests/lang/eval-okay-partition.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-partition.nix rename to nix-js/tests/tests/lang/eval-okay-partition.nix diff --git a/nix-js/tests/lang/eval-okay-path-string-interpolation.exp b/nix-js/tests/tests/lang/eval-okay-path-string-interpolation.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-path-string-interpolation.exp rename to nix-js/tests/tests/lang/eval-okay-path-string-interpolation.exp diff --git a/nix-js/tests/lang/eval-okay-path-string-interpolation.nix b/nix-js/tests/tests/lang/eval-okay-path-string-interpolation.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-path-string-interpolation.nix rename to nix-js/tests/tests/lang/eval-okay-path-string-interpolation.nix diff --git a/nix-js/tests/lang/eval-okay-path.exp b/nix-js/tests/tests/lang/eval-okay-path.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-path.exp rename to nix-js/tests/tests/lang/eval-okay-path.exp diff --git a/nix-js/tests/lang/eval-okay-path.nix b/nix-js/tests/tests/lang/eval-okay-path.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-path.nix rename to nix-js/tests/tests/lang/eval-okay-path.nix diff --git a/nix-js/tests/lang/eval-okay-pathexists.exp b/nix-js/tests/tests/lang/eval-okay-pathexists.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-pathexists.exp rename to nix-js/tests/tests/lang/eval-okay-pathexists.exp diff --git a/nix-js/tests/lang/eval-okay-pathexists.nix b/nix-js/tests/tests/lang/eval-okay-pathexists.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-pathexists.nix rename to nix-js/tests/tests/lang/eval-okay-pathexists.nix diff --git a/nix-js/tests/lang/eval-okay-patterns.exp b/nix-js/tests/tests/lang/eval-okay-patterns.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-patterns.exp rename to nix-js/tests/tests/lang/eval-okay-patterns.exp diff --git a/nix-js/tests/lang/eval-okay-patterns.nix b/nix-js/tests/tests/lang/eval-okay-patterns.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-patterns.nix rename to nix-js/tests/tests/lang/eval-okay-patterns.nix diff --git a/nix-js/tests/lang/eval-okay-print.err.exp b/nix-js/tests/tests/lang/eval-okay-print.err.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-print.err.exp rename to nix-js/tests/tests/lang/eval-okay-print.err.exp diff --git a/nix-js/tests/lang/eval-okay-print.exp b/nix-js/tests/tests/lang/eval-okay-print.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-print.exp rename to nix-js/tests/tests/lang/eval-okay-print.exp diff --git a/nix-js/tests/lang/eval-okay-print.nix b/nix-js/tests/tests/lang/eval-okay-print.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-print.nix rename to nix-js/tests/tests/lang/eval-okay-print.nix diff --git a/nix-js/tests/lang/eval-okay-readDir.exp b/nix-js/tests/tests/lang/eval-okay-readDir.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-readDir.exp rename to nix-js/tests/tests/lang/eval-okay-readDir.exp diff --git a/nix-js/tests/lang/eval-okay-readDir.nix b/nix-js/tests/tests/lang/eval-okay-readDir.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-readDir.nix rename to nix-js/tests/tests/lang/eval-okay-readDir.nix diff --git a/nix-js/tests/lang/eval-okay-readFileType.exp b/nix-js/tests/tests/lang/eval-okay-readFileType.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-readFileType.exp rename to nix-js/tests/tests/lang/eval-okay-readFileType.exp diff --git a/nix-js/tests/lang/eval-okay-readFileType.nix b/nix-js/tests/tests/lang/eval-okay-readFileType.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-readFileType.nix rename to nix-js/tests/tests/lang/eval-okay-readFileType.nix diff --git a/nix-js/tests/lang/eval-okay-readfile.exp b/nix-js/tests/tests/lang/eval-okay-readfile.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-readfile.exp rename to nix-js/tests/tests/lang/eval-okay-readfile.exp diff --git a/nix-js/tests/lang/eval-okay-readfile.nix b/nix-js/tests/tests/lang/eval-okay-readfile.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-readfile.nix rename to nix-js/tests/tests/lang/eval-okay-readfile.nix diff --git a/nix-js/tests/lang/eval-okay-redefine-builtin.exp b/nix-js/tests/tests/lang/eval-okay-redefine-builtin.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-redefine-builtin.exp rename to nix-js/tests/tests/lang/eval-okay-redefine-builtin.exp diff --git a/nix-js/tests/lang/eval-okay-redefine-builtin.nix b/nix-js/tests/tests/lang/eval-okay-redefine-builtin.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-redefine-builtin.nix rename to nix-js/tests/tests/lang/eval-okay-redefine-builtin.nix diff --git a/nix-js/tests/lang/eval-okay-regex-match.exp b/nix-js/tests/tests/lang/eval-okay-regex-match.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-regex-match.exp rename to nix-js/tests/tests/lang/eval-okay-regex-match.exp diff --git a/nix-js/tests/lang/eval-okay-regex-match.nix b/nix-js/tests/tests/lang/eval-okay-regex-match.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-regex-match.nix rename to nix-js/tests/tests/lang/eval-okay-regex-match.nix diff --git a/nix-js/tests/lang/eval-okay-regex-split.exp b/nix-js/tests/tests/lang/eval-okay-regex-split.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-regex-split.exp rename to nix-js/tests/tests/lang/eval-okay-regex-split.exp diff --git a/nix-js/tests/lang/eval-okay-regex-split.nix b/nix-js/tests/tests/lang/eval-okay-regex-split.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-regex-split.nix rename to nix-js/tests/tests/lang/eval-okay-regex-split.nix diff --git a/nix-js/tests/lang/eval-okay-regression-20220122.exp b/nix-js/tests/tests/lang/eval-okay-regression-20220122.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-regression-20220122.exp rename to nix-js/tests/tests/lang/eval-okay-regression-20220122.exp diff --git a/nix-js/tests/lang/eval-okay-regression-20220122.nix b/nix-js/tests/tests/lang/eval-okay-regression-20220122.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-regression-20220122.nix rename to nix-js/tests/tests/lang/eval-okay-regression-20220122.nix diff --git a/nix-js/tests/lang/eval-okay-regression-20220125.exp b/nix-js/tests/tests/lang/eval-okay-regression-20220125.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-regression-20220125.exp rename to nix-js/tests/tests/lang/eval-okay-regression-20220125.exp diff --git a/nix-js/tests/lang/eval-okay-regression-20220125.nix b/nix-js/tests/tests/lang/eval-okay-regression-20220125.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-regression-20220125.nix rename to nix-js/tests/tests/lang/eval-okay-regression-20220125.nix diff --git a/nix-js/tests/lang/eval-okay-regrettable-rec-attrset-merge.exp b/nix-js/tests/tests/lang/eval-okay-regrettable-rec-attrset-merge.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-regrettable-rec-attrset-merge.exp rename to nix-js/tests/tests/lang/eval-okay-regrettable-rec-attrset-merge.exp diff --git a/nix-js/tests/lang/eval-okay-regrettable-rec-attrset-merge.nix b/nix-js/tests/tests/lang/eval-okay-regrettable-rec-attrset-merge.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-regrettable-rec-attrset-merge.nix rename to nix-js/tests/tests/lang/eval-okay-regrettable-rec-attrset-merge.nix diff --git a/nix-js/tests/lang/eval-okay-remove.exp b/nix-js/tests/tests/lang/eval-okay-remove.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-remove.exp rename to nix-js/tests/tests/lang/eval-okay-remove.exp diff --git a/nix-js/tests/lang/eval-okay-remove.nix b/nix-js/tests/tests/lang/eval-okay-remove.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-remove.nix rename to nix-js/tests/tests/lang/eval-okay-remove.nix diff --git a/nix-js/tests/lang/eval-okay-repeated-empty-attrs.exp b/nix-js/tests/tests/lang/eval-okay-repeated-empty-attrs.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-repeated-empty-attrs.exp rename to nix-js/tests/tests/lang/eval-okay-repeated-empty-attrs.exp diff --git a/nix-js/tests/lang/eval-okay-repeated-empty-attrs.nix b/nix-js/tests/tests/lang/eval-okay-repeated-empty-attrs.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-repeated-empty-attrs.nix rename to nix-js/tests/tests/lang/eval-okay-repeated-empty-attrs.nix diff --git a/nix-js/tests/lang/eval-okay-repeated-empty-list.exp b/nix-js/tests/tests/lang/eval-okay-repeated-empty-list.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-repeated-empty-list.exp rename to nix-js/tests/tests/lang/eval-okay-repeated-empty-list.exp diff --git a/nix-js/tests/lang/eval-okay-repeated-empty-list.nix b/nix-js/tests/tests/lang/eval-okay-repeated-empty-list.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-repeated-empty-list.nix rename to nix-js/tests/tests/lang/eval-okay-repeated-empty-list.nix diff --git a/nix-js/tests/lang/eval-okay-replacestrings.exp b/nix-js/tests/tests/lang/eval-okay-replacestrings.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-replacestrings.exp rename to nix-js/tests/tests/lang/eval-okay-replacestrings.exp diff --git a/nix-js/tests/lang/eval-okay-replacestrings.nix b/nix-js/tests/tests/lang/eval-okay-replacestrings.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-replacestrings.nix rename to nix-js/tests/tests/lang/eval-okay-replacestrings.nix diff --git a/nix-js/tests/lang/eval-okay-scope-1.exp b/nix-js/tests/tests/lang/eval-okay-scope-1.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-scope-1.exp rename to nix-js/tests/tests/lang/eval-okay-scope-1.exp diff --git a/nix-js/tests/lang/eval-okay-scope-1.nix b/nix-js/tests/tests/lang/eval-okay-scope-1.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-scope-1.nix rename to nix-js/tests/tests/lang/eval-okay-scope-1.nix diff --git a/nix-js/tests/lang/eval-okay-scope-2.exp b/nix-js/tests/tests/lang/eval-okay-scope-2.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-scope-2.exp rename to nix-js/tests/tests/lang/eval-okay-scope-2.exp diff --git a/nix-js/tests/lang/eval-okay-scope-2.nix b/nix-js/tests/tests/lang/eval-okay-scope-2.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-scope-2.nix rename to nix-js/tests/tests/lang/eval-okay-scope-2.nix diff --git a/nix-js/tests/lang/eval-okay-scope-3.exp b/nix-js/tests/tests/lang/eval-okay-scope-3.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-scope-3.exp rename to nix-js/tests/tests/lang/eval-okay-scope-3.exp diff --git a/nix-js/tests/lang/eval-okay-scope-3.nix b/nix-js/tests/tests/lang/eval-okay-scope-3.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-scope-3.nix rename to nix-js/tests/tests/lang/eval-okay-scope-3.nix diff --git a/nix-js/tests/lang/eval-okay-scope-4.exp b/nix-js/tests/tests/lang/eval-okay-scope-4.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-scope-4.exp rename to nix-js/tests/tests/lang/eval-okay-scope-4.exp diff --git a/nix-js/tests/lang/eval-okay-scope-4.nix b/nix-js/tests/tests/lang/eval-okay-scope-4.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-scope-4.nix rename to nix-js/tests/tests/lang/eval-okay-scope-4.nix diff --git a/nix-js/tests/lang/eval-okay-scope-6.exp b/nix-js/tests/tests/lang/eval-okay-scope-6.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-scope-6.exp rename to nix-js/tests/tests/lang/eval-okay-scope-6.exp diff --git a/nix-js/tests/lang/eval-okay-scope-6.nix b/nix-js/tests/tests/lang/eval-okay-scope-6.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-scope-6.nix rename to nix-js/tests/tests/lang/eval-okay-scope-6.nix diff --git a/nix-js/tests/lang/eval-okay-scope-7.exp b/nix-js/tests/tests/lang/eval-okay-scope-7.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-scope-7.exp rename to nix-js/tests/tests/lang/eval-okay-scope-7.exp diff --git a/nix-js/tests/lang/eval-okay-scope-7.nix b/nix-js/tests/tests/lang/eval-okay-scope-7.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-scope-7.nix rename to nix-js/tests/tests/lang/eval-okay-scope-7.nix diff --git a/nix-js/tests/lang/eval-okay-search-path.exp b/nix-js/tests/tests/lang/eval-okay-search-path.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-search-path.exp rename to nix-js/tests/tests/lang/eval-okay-search-path.exp diff --git a/nix-js/tests/lang/eval-okay-search-path.nix b/nix-js/tests/tests/lang/eval-okay-search-path.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-search-path.nix rename to nix-js/tests/tests/lang/eval-okay-search-path.nix diff --git a/nix-js/tests/lang/eval-okay-seq.exp b/nix-js/tests/tests/lang/eval-okay-seq.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-seq.exp rename to nix-js/tests/tests/lang/eval-okay-seq.exp diff --git a/nix-js/tests/lang/eval-okay-seq.nix b/nix-js/tests/tests/lang/eval-okay-seq.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-seq.nix rename to nix-js/tests/tests/lang/eval-okay-seq.nix diff --git a/nix-js/tests/lang/eval-okay-sort.exp b/nix-js/tests/tests/lang/eval-okay-sort.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-sort.exp rename to nix-js/tests/tests/lang/eval-okay-sort.exp diff --git a/nix-js/tests/lang/eval-okay-sort.nix b/nix-js/tests/tests/lang/eval-okay-sort.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-sort.nix rename to nix-js/tests/tests/lang/eval-okay-sort.nix diff --git a/nix-js/tests/lang/eval-okay-splitversion.exp b/nix-js/tests/tests/lang/eval-okay-splitversion.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-splitversion.exp rename to nix-js/tests/tests/lang/eval-okay-splitversion.exp diff --git a/nix-js/tests/lang/eval-okay-splitversion.nix b/nix-js/tests/tests/lang/eval-okay-splitversion.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-splitversion.nix rename to nix-js/tests/tests/lang/eval-okay-splitversion.nix diff --git a/nix-js/tests/lang/eval-okay-string.exp b/nix-js/tests/tests/lang/eval-okay-string.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-string.exp rename to nix-js/tests/tests/lang/eval-okay-string.exp diff --git a/nix-js/tests/lang/eval-okay-string.nix b/nix-js/tests/tests/lang/eval-okay-string.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-string.nix rename to nix-js/tests/tests/lang/eval-okay-string.nix diff --git a/nix-js/tests/lang/eval-okay-strings-as-attrs-names.exp b/nix-js/tests/tests/lang/eval-okay-strings-as-attrs-names.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-strings-as-attrs-names.exp rename to nix-js/tests/tests/lang/eval-okay-strings-as-attrs-names.exp diff --git a/nix-js/tests/lang/eval-okay-strings-as-attrs-names.nix b/nix-js/tests/tests/lang/eval-okay-strings-as-attrs-names.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-strings-as-attrs-names.nix rename to nix-js/tests/tests/lang/eval-okay-strings-as-attrs-names.nix diff --git a/nix-js/tests/lang/eval-okay-substring-context.exp b/nix-js/tests/tests/lang/eval-okay-substring-context.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-substring-context.exp rename to nix-js/tests/tests/lang/eval-okay-substring-context.exp diff --git a/nix-js/tests/lang/eval-okay-substring-context.nix b/nix-js/tests/tests/lang/eval-okay-substring-context.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-substring-context.nix rename to nix-js/tests/tests/lang/eval-okay-substring-context.nix diff --git a/nix-js/tests/lang/eval-okay-substring.exp b/nix-js/tests/tests/lang/eval-okay-substring.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-substring.exp rename to nix-js/tests/tests/lang/eval-okay-substring.exp diff --git a/nix-js/tests/lang/eval-okay-substring.nix b/nix-js/tests/tests/lang/eval-okay-substring.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-substring.nix rename to nix-js/tests/tests/lang/eval-okay-substring.nix diff --git a/nix-js/tests/lang/eval-okay-symlink-resolution.exp b/nix-js/tests/tests/lang/eval-okay-symlink-resolution.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-symlink-resolution.exp rename to nix-js/tests/tests/lang/eval-okay-symlink-resolution.exp diff --git a/nix-js/tests/lang/eval-okay-symlink-resolution.nix b/nix-js/tests/tests/lang/eval-okay-symlink-resolution.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-symlink-resolution.nix rename to nix-js/tests/tests/lang/eval-okay-symlink-resolution.nix diff --git a/nix-js/tests/lang/eval-okay-tail-call-1.nix b/nix-js/tests/tests/lang/eval-okay-tail-call-1.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-tail-call-1.nix rename to nix-js/tests/tests/lang/eval-okay-tail-call-1.nix diff --git a/nix-js/tests/lang/eval-okay-tojson.exp b/nix-js/tests/tests/lang/eval-okay-tojson.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-tojson.exp rename to nix-js/tests/tests/lang/eval-okay-tojson.exp diff --git a/nix-js/tests/lang/eval-okay-tojson.nix b/nix-js/tests/tests/lang/eval-okay-tojson.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-tojson.nix rename to nix-js/tests/tests/lang/eval-okay-tojson.nix diff --git a/nix-js/tests/lang/eval-okay-toxml.exp b/nix-js/tests/tests/lang/eval-okay-toxml.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-toxml.exp rename to nix-js/tests/tests/lang/eval-okay-toxml.exp diff --git a/nix-js/tests/lang/eval-okay-toxml.nix b/nix-js/tests/tests/lang/eval-okay-toxml.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-toxml.nix rename to nix-js/tests/tests/lang/eval-okay-toxml.nix diff --git a/nix-js/tests/lang/eval-okay-toxml2.exp b/nix-js/tests/tests/lang/eval-okay-toxml2.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-toxml2.exp rename to nix-js/tests/tests/lang/eval-okay-toxml2.exp diff --git a/nix-js/tests/lang/eval-okay-toxml2.nix b/nix-js/tests/tests/lang/eval-okay-toxml2.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-toxml2.nix rename to nix-js/tests/tests/lang/eval-okay-toxml2.nix diff --git a/nix-js/tests/lang/eval-okay-tryeval.exp b/nix-js/tests/tests/lang/eval-okay-tryeval.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-tryeval.exp rename to nix-js/tests/tests/lang/eval-okay-tryeval.exp diff --git a/nix-js/tests/lang/eval-okay-tryeval.nix b/nix-js/tests/tests/lang/eval-okay-tryeval.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-tryeval.nix rename to nix-js/tests/tests/lang/eval-okay-tryeval.nix diff --git a/nix-js/tests/lang/eval-okay-types.exp b/nix-js/tests/tests/lang/eval-okay-types.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-types.exp rename to nix-js/tests/tests/lang/eval-okay-types.exp diff --git a/nix-js/tests/lang/eval-okay-types.nix b/nix-js/tests/tests/lang/eval-okay-types.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-types.nix rename to nix-js/tests/tests/lang/eval-okay-types.nix diff --git a/nix-js/tests/lang/eval-okay-versions.exp b/nix-js/tests/tests/lang/eval-okay-versions.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-versions.exp rename to nix-js/tests/tests/lang/eval-okay-versions.exp diff --git a/nix-js/tests/lang/eval-okay-versions.nix b/nix-js/tests/tests/lang/eval-okay-versions.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-versions.nix rename to nix-js/tests/tests/lang/eval-okay-versions.nix diff --git a/nix-js/tests/lang/eval-okay-with.exp b/nix-js/tests/tests/lang/eval-okay-with.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-with.exp rename to nix-js/tests/tests/lang/eval-okay-with.exp diff --git a/nix-js/tests/lang/eval-okay-with.nix b/nix-js/tests/tests/lang/eval-okay-with.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-with.nix rename to nix-js/tests/tests/lang/eval-okay-with.nix diff --git a/nix-js/tests/lang/eval-okay-xml.exp b/nix-js/tests/tests/lang/eval-okay-xml.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-xml.exp rename to nix-js/tests/tests/lang/eval-okay-xml.exp diff --git a/nix-js/tests/lang/eval-okay-xml.nix b/nix-js/tests/tests/lang/eval-okay-xml.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-xml.nix rename to nix-js/tests/tests/lang/eval-okay-xml.nix diff --git a/nix-js/tests/lang/eval-okay-zipAttrsWith.exp b/nix-js/tests/tests/lang/eval-okay-zipAttrsWith.exp similarity index 100% rename from nix-js/tests/lang/eval-okay-zipAttrsWith.exp rename to nix-js/tests/tests/lang/eval-okay-zipAttrsWith.exp diff --git a/nix-js/tests/lang/eval-okay-zipAttrsWith.nix b/nix-js/tests/tests/lang/eval-okay-zipAttrsWith.nix similarity index 100% rename from nix-js/tests/lang/eval-okay-zipAttrsWith.nix rename to nix-js/tests/tests/lang/eval-okay-zipAttrsWith.nix diff --git a/nix-js/tests/lang/imported.nix b/nix-js/tests/tests/lang/imported.nix similarity index 100% rename from nix-js/tests/lang/imported.nix rename to nix-js/tests/tests/lang/imported.nix diff --git a/nix-js/tests/lang/imported2.nix b/nix-js/tests/tests/lang/imported2.nix similarity index 100% rename from nix-js/tests/lang/imported2.nix rename to nix-js/tests/tests/lang/imported2.nix diff --git a/nix-js/tests/lang/lib.nix b/nix-js/tests/tests/lang/lib.nix similarity index 100% rename from nix-js/tests/lang/lib.nix rename to nix-js/tests/tests/lang/lib.nix diff --git a/nix-js/tests/lang/readDir/bar b/nix-js/tests/tests/lang/readDir/bar similarity index 100% rename from nix-js/tests/lang/readDir/bar rename to nix-js/tests/tests/lang/readDir/bar diff --git a/nix-js/tests/lang/readDir/foo/git-hates-directories b/nix-js/tests/tests/lang/readDir/foo/git-hates-directories similarity index 100% rename from nix-js/tests/lang/readDir/foo/git-hates-directories rename to nix-js/tests/tests/lang/readDir/foo/git-hates-directories diff --git a/nix-js/tests/lang/readDir/ldir b/nix-js/tests/tests/lang/readDir/ldir similarity index 100% rename from nix-js/tests/lang/readDir/ldir rename to nix-js/tests/tests/lang/readDir/ldir diff --git a/nix-js/tests/lang/readDir/linked b/nix-js/tests/tests/lang/readDir/linked similarity index 100% rename from nix-js/tests/lang/readDir/linked rename to nix-js/tests/tests/lang/readDir/linked diff --git a/nix-js/tests/lang/symlink-resolution/broken b/nix-js/tests/tests/lang/symlink-resolution/broken similarity index 100% rename from nix-js/tests/lang/symlink-resolution/broken rename to nix-js/tests/tests/lang/symlink-resolution/broken diff --git a/nix-js/tests/lang/symlink-resolution/foo/lib/default.nix b/nix-js/tests/tests/lang/symlink-resolution/foo/lib/default.nix similarity index 100% rename from nix-js/tests/lang/symlink-resolution/foo/lib/default.nix rename to nix-js/tests/tests/lang/symlink-resolution/foo/lib/default.nix diff --git a/nix-js/tests/lang/symlink-resolution/foo/overlays b/nix-js/tests/tests/lang/symlink-resolution/foo/overlays similarity index 100% rename from nix-js/tests/lang/symlink-resolution/foo/overlays rename to nix-js/tests/tests/lang/symlink-resolution/foo/overlays diff --git a/nix-js/tests/lang/symlink-resolution/overlays/overlay.nix b/nix-js/tests/tests/lang/symlink-resolution/overlays/overlay.nix similarity index 100% rename from nix-js/tests/lang/symlink-resolution/overlays/overlay.nix rename to nix-js/tests/tests/lang/symlink-resolution/overlays/overlay.nix diff --git a/nix-js/tests/tests/lang/utils b/nix-js/tests/tests/lang/utils new file mode 120000 index 0000000..28b4859 --- /dev/null +++ b/nix-js/tests/tests/lang/utils @@ -0,0 +1 @@ +utils/ \ No newline at end of file diff --git a/nix-js/tests/tests/main.rs b/nix-js/tests/tests/main.rs new file mode 100644 index 0000000..11e790e --- /dev/null +++ b/nix-js/tests/tests/main.rs @@ -0,0 +1,17 @@ +mod basic_eval; +mod builtins; +mod builtins_store; +mod derivation; +mod findfile; +mod free_globals; +mod functions; +mod io_operations; +mod numeric_types; +mod operators; +mod path_operations; +mod regex; +mod string_context; +mod thunk_scope; +mod to_string; +mod lang; +mod utils; diff --git a/nix-js/tests/numeric_types.rs b/nix-js/tests/tests/numeric_types.rs similarity index 98% rename from nix-js/tests/numeric_types.rs rename to nix-js/tests/tests/numeric_types.rs index 46cdd17..d61bbfa 100644 --- a/nix-js/tests/numeric_types.rs +++ b/nix-js/tests/tests/numeric_types.rs @@ -1,7 +1,5 @@ -mod utils; - +use crate::utils::eval; use nix_js::value::Value; -use utils::eval; #[test] fn large_i64_max() { diff --git a/nix-js/tests/operators.rs b/nix-js/tests/tests/operators.rs similarity index 98% rename from nix-js/tests/operators.rs rename to nix-js/tests/tests/operators.rs index d0f4f2b..b815a03 100644 --- a/nix-js/tests/operators.rs +++ b/nix-js/tests/tests/operators.rs @@ -1,8 +1,6 @@ -mod utils; - +use crate::utils::eval; use nix_js::value::{AttrSet, List, Symbol, Value}; use std::collections::BTreeMap; -use utils::eval; #[test] fn addition() { diff --git a/nix-js/tests/path_operations.rs b/nix-js/tests/tests/path_operations.rs similarity index 98% rename from nix-js/tests/path_operations.rs rename to nix-js/tests/tests/path_operations.rs index 20389ed..c61e880 100644 --- a/nix-js/tests/path_operations.rs +++ b/nix-js/tests/tests/path_operations.rs @@ -1,7 +1,5 @@ -mod utils; - +use crate::utils::{eval, eval_result}; use nix_js::value::Value; -use utils::{eval, eval_result}; #[test] fn path_type_of() { diff --git a/nix-js/tests/regex.rs b/nix-js/tests/tests/regex.rs similarity index 99% rename from nix-js/tests/regex.rs rename to nix-js/tests/tests/regex.rs index 33d1b8b..3f826f4 100644 --- a/nix-js/tests/regex.rs +++ b/nix-js/tests/tests/regex.rs @@ -1,7 +1,5 @@ -mod utils; - +use crate::utils::eval; use nix_js::value::{List, Value}; -use utils::eval; use crate::utils::eval_result; diff --git a/nix-js/tests/string_context.rs b/nix-js/tests/tests/string_context.rs similarity index 99% rename from nix-js/tests/string_context.rs rename to nix-js/tests/tests/string_context.rs index 7331a7a..36190f4 100644 --- a/nix-js/tests/string_context.rs +++ b/nix-js/tests/tests/string_context.rs @@ -1,8 +1,6 @@ -mod utils; - +use crate::utils::eval_result; use nix_js::context::Context; use nix_js::value::Value; -use utils::eval_result; fn eval(expr: &str) -> Value { eval_result(expr).unwrap_or_else(|e| panic!("{}", e)) diff --git a/nix-js/tests/thunk_scope.rs b/nix-js/tests/tests/thunk_scope.rs similarity index 98% rename from nix-js/tests/thunk_scope.rs rename to nix-js/tests/tests/thunk_scope.rs index b85df65..b73cccd 100644 --- a/nix-js/tests/thunk_scope.rs +++ b/nix-js/tests/tests/thunk_scope.rs @@ -1,7 +1,5 @@ -mod utils; - +use crate::utils::eval; use nix_js::value::Value; -use utils::eval; #[test] fn non_recursive_bindings() { diff --git a/nix-js/tests/to_string.rs b/nix-js/tests/tests/to_string.rs similarity index 95% rename from nix-js/tests/to_string.rs rename to nix-js/tests/tests/to_string.rs index c71086a..019927c 100644 --- a/nix-js/tests/to_string.rs +++ b/nix-js/tests/tests/to_string.rs @@ -1,7 +1,5 @@ -mod utils; - +use crate::utils::{eval, eval_result}; use nix_js::value::Value; -use utils::eval; #[test] fn string_returns_as_is() { @@ -213,24 +211,24 @@ fn list_with_nested_empty_lists() { #[test] fn attrs_without_out_path_or_to_string_fails() { - let result = utils::eval_result(r#"toString { foo = "bar"; }"#); + let result = eval_result(r#"toString { foo = "bar"; }"#); assert!(result.is_err()); } #[test] fn function_to_string_fails() { - let result = utils::eval_result("toString (x: x)"); + let result = eval_result("toString (x: x)"); assert!(result.is_err()); } #[test] fn to_string_method_must_return_string() { assert_eq!( - utils::eval(r#"toString { __toString = self: 42; }"#), + eval(r#"toString { __toString = self: 42; }"#), Value::String("42".into()) ); assert_eq!( - utils::eval(r#"toString { __toString = self: true; }"#), + eval(r#"toString { __toString = self: true; }"#), Value::String("1".into()) ); } diff --git a/nix-js/tests/utils.rs b/nix-js/tests/tests/utils.rs similarity index 100% rename from nix-js/tests/utils.rs rename to nix-js/tests/tests/utils.rs diff --git a/typos.toml b/typos.toml index 2f9525e..d2076c7 100644 --- a/typos.toml +++ b/typos.toml @@ -1,6 +1,6 @@ [files] extend-exclude = [ - "nix-js/tests/regex.rs", + "nix-js/tests/basic/regex.rs", "nix-js/tests/lang", ]