Daniel Gustafsson <dan...@yesql.se> writes: >> On 19 Apr 2025, at 18:17, Tom Lane <t...@sss.pgh.pa.us> wrote: >> The reason I bring this up is that I found out the hard way >> that src/test/modules/oauth_validator fails on RHEL8, because >> its oauth_server.py script is not compatible with the 3.6.8 >> version of Python supplied by this distro.
> Do you have the error message/log for the failure handy? The first problem is that this Python version seems not to like assignments embedded in if statements: File "t/oauth_server.py", line 319 if err := self._get_param("error_code", None): ^ SyntaxError: invalid syntax I was able to work around that with the attached quick hack. But then I get Traceback (most recent call last): File "t/oauth_server.py", line 19, in <module> class OAuthHandler(http.server.BaseHTTPRequestHandler): File "t/oauth_server.py", line 26, in OAuthHandler JsonObject = dict[str, object] # TypeAlias is not available until 3.10 TypeError: 'type' object is not subscriptable which I have no idea how to work around. regards, tom lane
diff --git a/src/test/modules/oauth_validator/t/oauth_server.py b/src/test/modules/oauth_validator/t/oauth_server.py index 5bc30be87fd..133fe496cfc 100755 --- a/src/test/modules/oauth_validator/t/oauth_server.py +++ b/src/test/modules/oauth_validator/t/oauth_server.py @@ -316,11 +316,13 @@ class OAuthHandler(http.server.BaseHTTPRequestHandler): return resp def token(self) -> JsonObject: - if err := self._get_param("error_code", None): + err = self._get_param("error_code", None) + if err: self._response_code = self._get_param("error_status", 400) resp = {"error": err} - if desc := self._get_param("error_desc", ""): + desc = self._get_param("error_desc", "") + if desc: resp["error_description"] = desc return resp