Files
lix/tests/functional2/repl_characterization/stacktrace/vars.md
T
rootile 64b434b87b tests(f2/repl): migrate stacktrace tests
Change-Id: Ic6795f22d68aea113fa2037cbd0a731ac5e698f8
2026-06-11 16:30:56 +02:00

3.8 KiB

args, should_fail, files
args should_fail files
--debugger
-f
{PWD}/stack_vars.nix
True
stack_vars.nix
Lix VERSION
Type :? for help.
trace: before outer break
info: breakpoint reached

Added 3 variables.

Here we are in the outer break and the let of "meow". :st should show meow there

:st

0: error: breakpoint reached
/pwd/stack_vars.nix:6:22

     5|   b = builtins.trace "before outer break" (
     6|     let meow = 2; in builtins.break a
      |                      ^
     7|   );

Env level 0
static: meow 

Env level 1
static: a b 

Env level 2
abort baseNameOf break builtins derivation derivationStrict dirOf false fetchGit fetchMercurial fetchTarball fetchTree fromTOML import isNull map null placeholder removeAttrs scopedImport throw toString true 

Added 3 variables.

meow
2

If we :st past the frame in the backtrace with the meow in it, the meow should not be there

:st 3
:c

3: while calling a function
/pwd/stack_vars.nix:5:7

     4|   );
     5|   b = builtins.trace "before outer break" (
      |       ^
     6|     let meow = 2; in builtins.break a

Env level 0
static: a b 

Env level 1
abort baseNameOf break builtins derivation derivationStrict dirOf false fetchGit fetchMercurial fetchTarball fetchTree fromTOML import isNull map null placeholder removeAttrs scopedImport throw toString true 

Added 2 variables.

trace: before inner break
info: breakpoint reached

Added 3 variables.
:st

0: error: breakpoint reached
/pwd/stack_vars.nix:3:23

     2|   a = builtins.trace "before inner break" (
     3|     let meow' = 3; in builtins.break { msg = "hello"; }
      |                       ^
     4|   );

Env level 0
static: meow' 

Env level 1
static: a b 

Env level 2
abort baseNameOf break builtins derivation derivationStrict dirOf false fetchGit fetchMercurial fetchTarball fetchTree fromTOML import isNull map null placeholder removeAttrs scopedImport throw toString true 

Added 3 variables.

meow'
:st 3
3


3: while calling a function
/pwd/stack_vars.nix:2:7

     1| let
     2|   a = builtins.trace "before inner break" (
      |       ^
     3|     let meow' = 3; in builtins.break { msg = "hello"; }

Env level 0
static: a b 

Env level 1
abort baseNameOf break builtins derivation derivationStrict dirOf false fetchGit fetchMercurial fetchTarball fetchTree fromTOML import isNull map null placeholder removeAttrs scopedImport throw toString true 

Added 2 variables.

:quit
error:
       … while evaluating the file '/pwd/stack_vars.nix':

       … while evaluating b
         at /pwd/stack_vars.nix:9:3:
            8| in
            9|   b
             |   ^
           10|

       … while calling the 'trace' builtin
         at /pwd/stack_vars.nix:5:7:
            4|   );
            5|   b = builtins.trace "before outer break" (
             |       ^
            6|     let meow = 2; in builtins.break a

       … while calling the 'break' builtin
         at /pwd/stack_vars.nix:6:22:
            5|   b = builtins.trace "before outer break" (
            6|     let meow = 2; in builtins.break a
             |                      ^
            7|   );

       … while calling the 'trace' builtin
         at /pwd/stack_vars.nix:2:7:
            1| let
            2|   a = builtins.trace "before inner break" (
             |       ^
            3|     let meow' = 3; in builtins.break { msg = "hello"; }

       … while calling the 'break' builtin
         at /pwd/stack_vars.nix:3:23:
            2|   a = builtins.trace "before inner break" (
            3|     let meow' = 3; in builtins.break { msg = "hello"; }
             |                       ^
            4|   );

       error: breakpoint reached