diff --git a/src/manage/scriptutils.py b/src/manage/scriptutils.py index 00f35c0..99e99da 100644 --- a/src/manage/scriptutils.py +++ b/src/manage/scriptutils.py @@ -142,7 +142,7 @@ def _read_script(cmd, script, encoding): except OSError as ex: raise LookupError(script) from ex with f: - first_line = next(f).rstrip() + first_line = next(f, "").rstrip() if first_line.startswith("#!"): try: return _parse_shebang(cmd, first_line) diff --git a/tests/test_scriptutils.py b/tests/test_scriptutils.py index 53ec7f7..f33b5a6 100644 --- a/tests/test_scriptutils.py +++ b/tests/test_scriptutils.py @@ -33,6 +33,7 @@ def _fake_install(v, **kwargs): ] @pytest.mark.parametrize("script, expect", [ + ("", None), ("#! /usr/bin/test1.0\n#! /usr/bin/test2.0\n", "1.0"), ("#! /usr/bin/test2.0\n#! /usr/bin/test1.0\n", "2.0"), ("#! /usr/bin/test1.0.exe\n#! /usr/bin/test2.0\n", "1.0"),