From 2cf66207188a5ab5ed4f7cb043c0cdd14624f124 Mon Sep 17 00:00:00 2001 From: vvvv Date: Wed, 4 Mar 2026 20:00:46 +0300 Subject: YQL-20339 python/js runtime linear checker commit_hash:362a2d7f5bad4151c0890ab29f0804471bd1bab4 --- .../python3_small/test/canondata/result.json | 19 ++++++++++------ .../test.test_LinearDynamicFail3_/extracted | 8 +++++++ .../test/cases/LinearDynamicFail3.cfg | 3 +++ .../python3_small/test/cases/LinearDynamicFail3.in | 0 .../test/cases/LinearDynamicFail3.sql | 26 ++++++++++++++++++++++ 5 files changed, 49 insertions(+), 7 deletions(-) create mode 100644 yql/essentials/udfs/common/python/python3_small/test/canondata/test.test_LinearDynamicFail3_/extracted create mode 100644 yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail3.cfg create mode 100644 yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail3.in create mode 100644 yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail3.sql (limited to 'yql/essentials/udfs/common/python/python3_small') diff --git a/yql/essentials/udfs/common/python/python3_small/test/canondata/result.json b/yql/essentials/udfs/common/python/python3_small/test/canondata/result.json index cd5bbbcf26f..15124023121 100644 --- a/yql/essentials/udfs/common/python/python3_small/test/canondata/result.json +++ b/yql/essentials/udfs/common/python/python3_small/test/canondata/result.json @@ -3,35 +3,35 @@ { "checksum": "19c6d906cb8617cf9d2b5d484e09caf8", "size": 7570, - "uri": "https://{canondata_backend}/212715/49b4751c22bd43fa7057cc92ae5cbedb40404f40/resource.tar.gz#test.test_Annotations_/results.txt" + "uri": "https://storage.yandex-team.ru/get-devtools/212715/49b4751c22bd43fa7057cc92ae5cbedb40404f40/resource.tar.gz#test.test_Annotations_/results.txt" } ], "test.test[BytesDecodeModeStrict]": [ { "checksum": "f8534cff0843faaf876c41e0875dcf05", "size": 3120, - "uri": "https://{canondata_backend}/1775319/4c4fed0942b33bcc70d44f7dd2972a8e05c6db97/resource.tar.gz#test.test_BytesDecodeModeStrict_/results.txt" + "uri": "https://storage.yandex-team.ru/get-devtools/1775319/4c4fed0942b33bcc70d44f7dd2972a8e05c6db97/resource.tar.gz#test.test_BytesDecodeModeStrict_/results.txt" } ], "test.test[Cleanup]": [ { "checksum": "036e77892757e48fa3fb319ed324b019", "size": 954, - "uri": "https://{canondata_backend}/1871182/9909e0b25b15bb1f21d5def23fb072d64c82f07e/resource.tar.gz#test.test_Cleanup_/results.txt" + "uri": "https://storage.yandex-team.ru/get-devtools/1871182/9909e0b25b15bb1f21d5def23fb072d64c82f07e/resource.tar.gz#test.test_Cleanup_/results.txt" } ], "test.test[CustomYsonConverter]": [ { "checksum": "7716204e544d2fcb9313412c3919e66d", "size": 1625, - "uri": "https://{canondata_backend}/1130705/576535b56a4e74992911431865e5edd0f7d55520/resource.tar.gz#test.test_CustomYsonConverter_/results.txt" + "uri": "https://storage.yandex-team.ru/get-devtools/1130705/576535b56a4e74992911431865e5edd0f7d55520/resource.tar.gz#test.test_CustomYsonConverter_/results.txt" } ], "test.test[Data]": [ { "checksum": "f40e83806b294be420681fdfbf2133e8", "size": 25268, - "uri": "https://{canondata_backend}/1031349/7065a0985fe0cd26a754a5bee7a4c808836a4692/resource.tar.gz#test.test_Data_/results.txt" + "uri": "https://storage.yandex-team.ru/get-devtools/1031349/7065a0985fe0cd26a754a5bee7a4c808836a4692/resource.tar.gz#test.test_Data_/results.txt" } ], "test.test[Excepthook]": [ @@ -43,7 +43,7 @@ { "checksum": "02a619c86f180e8a4c536087d64bab6d", "size": 1328, - "uri": "https://{canondata_backend}/995452/085d43bbd16f44afc51d6cafed42465a3d20215c/resource.tar.gz#test.test_GreedyInputContainers_/results.txt" + "uri": "https://storage.yandex-team.ru/get-devtools/995452/085d43bbd16f44afc51d6cafed42465a3d20215c/resource.tar.gz#test.test_GreedyInputContainers_/results.txt" } ], "test.test[LinearDynamicFail1]": [ @@ -56,6 +56,11 @@ "uri": "file://test.test_LinearDynamicFail2_/extracted" } ], + "test.test[LinearDynamicFail3]": [ + { + "uri": "file://test.test_LinearDynamicFail3_/extracted" + } + ], "test.test[LinearDynamic]": [ { "uri": "file://test.test_LinearDynamic_/results.txt" @@ -75,7 +80,7 @@ { "checksum": "e60320702512bdcecd5c663f387ee939", "size": 9172, - "uri": "https://{canondata_backend}/1130705/493ee46b1e8f2e848ab928f97913d332cb4fffc7/resource.tar.gz#test.test_Switch_/results.txt" + "uri": "https://storage.yandex-team.ru/get-devtools/1130705/493ee46b1e8f2e848ab928f97913d332cb4fffc7/resource.tar.gz#test.test_Switch_/results.txt" } ], "test.test[Tagged]": [ diff --git a/yql/essentials/udfs/common/python/python3_small/test/canondata/test.test_LinearDynamicFail3_/extracted b/yql/essentials/udfs/common/python/python3_small/test/canondata/test.test_LinearDynamicFail3_/extracted new file mode 100644 index 00000000000..0d06486983c --- /dev/null +++ b/yql/essentials/udfs/common/python/python3_small/test/canondata/test.test_LinearDynamicFail3_/extracted @@ -0,0 +1,8 @@ +/program.sql:
: Error: Execution + + /program.sql:
:48:1: Error: Execution of node: Result + select $c($p(1)); + ^ + /program.sql:
:48:1: Error:
:42:14: Linear value is not consumed + select $c($p(1)); + ^ \ No newline at end of file diff --git a/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail3.cfg b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail3.cfg new file mode 100644 index 00000000000..57e3ac59f66 --- /dev/null +++ b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail3.cfg @@ -0,0 +1,3 @@ +langver 2025.04 +xfail + diff --git a/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail3.in b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail3.in new file mode 100644 index 00000000000..e69de29bb2d diff --git a/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail3.sql b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail3.sql new file mode 100644 index 00000000000..8ba3db4fe0b --- /dev/null +++ b/yql/essentials/udfs/common/python/python3_small/test/cases/LinearDynamicFail3.sql @@ -0,0 +1,26 @@ +$s = @@ +def f(x): + class Once: + def __init__(self, v): + self.v = v + self.extracted = False + + def extract(self): + assert not self.extracted + self.extracted = True + ret = self.v + self.v = None + return ret + + return Once(x + 1) + +def g(x): + return 1 +@@; + +$p = Python::f(Callable<(Int32)->DynamicLinear>, $s); +$c = Python::g(Callable<(DynamicLinear)->Int32>, $s); + +select $c($p(1)); + + -- cgit v1.3