diff --git a/tests/basics/string_fstring.py b/tests/basics/string_fstring.py index efb7e5a8e..4f7225fca 100644 --- a/tests/basics/string_fstring.py +++ b/tests/basics/string_fstring.py @@ -12,17 +12,11 @@ print(f"""no interpolation""") x, y = 1, 2 print(f'{x}') print(f'{x:08x}') -print(f'{x=}') -print(f'{x=:08x}') print(f'a {x} b {y} c') print(f'a {x:08x} b {y} c') -print(f'a {x=} b {y} c') -print(f'a {x=:08x} b {y} c') print(f'a {"hello"} b') print(f'a {f() + g("foo") + h()} b') -print(f'a {f() + g("foo") + h()=} b') -print(f'a {f() + g("foo") + h()=:08x} b') def foo(a, b): return f'{x}{y}{a}{b}' diff --git a/tests/basics/string_fstring_debug.py b/tests/basics/string_fstring_debug.py new file mode 100644 index 000000000..76a448ca0 --- /dev/null +++ b/tests/basics/string_fstring_debug.py @@ -0,0 +1,23 @@ +# test f-string debug feature {x=} + + +def f(): + return 4 + + +def g(_): + return 5 + + +def h(): + return 6 + + +x, y = 1, 2 +print(f"{x=}") +print(f"{x=:08x}") +print(f"a {x=} b {y} c") +print(f"a {x=:08x} b {y} c") + +print(f'a {f() + g("foo") + h()=} b') +print(f'a {f() + g("foo") + h()=:08x} b') diff --git a/tests/basics/string_fstring_debug.py.exp b/tests/basics/string_fstring_debug.py.exp new file mode 100644 index 000000000..563030f40 --- /dev/null +++ b/tests/basics/string_fstring_debug.py.exp @@ -0,0 +1,6 @@ +x=1 +x=00000001 +a x=1 b 2 c +a x=00000001 b 2 c +a f() + g("foo") + h()=15 b +a f() + g("foo") + h()=0000000f b diff --git a/tools/tinytest-codegen.py b/tools/tinytest-codegen.py index ddbe62b84..f1169a34d 100755 --- a/tools/tinytest-codegen.py +++ b/tools/tinytest-codegen.py @@ -101,6 +101,7 @@ exclude_tests = ( "misc/sys_settrace_features.py", # don't have f-string "basics/string_fstring.py", + "basics/string_fstring_debug.py", ) output = []