Skip to content

Commit daf7e73

Browse files
authored
Fix ALTER ROLE failing on nightly (#550)
This adds some annoying logic to figure out whether admin is there Or I could just wait until it is in all live nightlies and never care again, but oh well. It's probably fine if other bindings do that.
1 parent 725d4a7 commit daf7e73

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

gel/_testbase.py

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,39 @@ def _start_cluster(*, cleanup_atexit=True):
9090
env.pop('PYTHONPATH', None)
9191

9292
gel_server = env.get('EDGEDB_SERVER_BINARY', 'edgedb-server')
93+
94+
version_args = [gel_server, '--version']
95+
if sys.platform == 'win32':
96+
version_args = ['wsl', '-u', 'edgedb'] + version_args
97+
version_res = subprocess.run(
98+
version_args,
99+
capture_output=True,
100+
text=True,
101+
)
102+
is_gel = version_res.stdout.startswith('gel-server,')
103+
104+
version_line = version_res.stdout
105+
is_gel = version_line.startswith('gel-server,')
106+
107+
# The default role became admin in nightly build 9024 for 6.0
108+
if is_gel:
109+
if '6.0-dev' in version_line:
110+
rev = int(version_line.split('.')[2].split('+')[0])
111+
has_admin = rev >= 9024
112+
else:
113+
has_admin = True
114+
else:
115+
has_admin = False
116+
117+
role = 'admin' if has_admin else 'edgedb'
93118
args = [
94119
gel_server,
95120
"--temp-dir",
96121
"--testmode",
97122
f"--emit-server-status={status_file_unix}",
98123
"--port=auto",
99124
"--auto-shutdown",
100-
"--bootstrap-command=ALTER ROLE edgedb { SET password := 'test' }",
125+
f"--bootstrap-command=ALTER ROLE {role} {{SET password := 'test'}}",
101126
]
102127

103128
help_args = [gel_server, "--help"]

0 commit comments

Comments
 (0)