diff --git a/shell.nix b/shell.nix index 218c09d..55f40ac 100644 --- a/shell.nix +++ b/shell.nix @@ -14,6 +14,7 @@ pkgs.mkShell { buildInputs = [ tools.env + tools.py2-astparse tools.flamegraph tools.release pkgs.nixpkgs-fmt diff --git a/tools/default.nix b/tools/default.nix index a7cc46a..6ea0c9d 100644 --- a/tools/default.nix +++ b/tools/default.nix @@ -77,4 +77,20 @@ in projectDir = ./.; }; + py2-astparse = pkgs.writeScriptBin "py2-astparse" '' + #!${pkgs.python2.interpreter} + # Used as a smoke test for Python2 compatibility in Python files + import sys + import ast + + if __name__ == "__main__": + with open(sys.argv[1]) as f: + try: + ast.parse(f.read()) + except Exception as e: + sys.stderr.write("Error parsing '{}':\n".format(sys.argv[1])) + sys.stderr.flush() + raise + ''; + }