Last active
September 30, 2016 07:04
-
-
Save x10an14/294e2e788ef361797698f94ecb62900b to your computer and use it in GitHub Desktop.
Coconut test segfault in minimized alpine docker container image
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ docker run -it --entrypoint bash test | |
bash-4.3# coconut tests/src/extras.coco tests/dest --run | |
Coconut: Compiling tests/src/extras.coco ... | |
Coconut: Compiled to tests/dest/extras.py . | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: found mixing of tabs and spaces (line 1) | |
pass | |
CoconutException: a source file/folder must be specified when options that depend on the source are enabled | |
CoconutException: cannot compile as both --package and --standalone | |
CoconutException: destination path cannot be given when --nowrite is enabled | |
<success> | |
bash-4.3# |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
x10an14@x10Desktop2016:~/Documents/git_projs/coconut$ docker run -it --entrypoint bash alpine_py3 | |
bash-4.3# pytest --strict -s tests | |
============================================================================================ test session starts ============================================================================================= | |
platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 | |
rootdir: /usr/coconut, inifile: | |
collected 17 items | |
tests/main_test.py | |
> coconut -s --code msg = '<success>'; pmsg = print$(msg); `pmsg` | |
<success> | |
. | |
> python -c from coconut.convenience import parse; exec(parse("msg = '<success>'; pmsg = print$(msg); `pmsg`")) | |
F | |
> ipython --ext coconut -c %coconut msg = '<success>'; pmsg = print$(msg); `pmsg` | |
<success> | |
. | |
> coconut --jupyter | |
4.2.0 | |
[InstallKernelSpec] Installed kernelspec coconut in /usr/local/share/jupyter/kernels/coconut | |
[InstallKernelSpec] Installed kernelspec coconut2 in /usr/local/share/jupyter/kernels/coconut2 | |
[InstallKernelSpec] Installed kernelspec coconut3 in /usr/local/share/jupyter/kernels/coconut3 | |
. | |
> echo "msg = '<success>'; pmsg = print\$(msg); \`pmsg\`" | coconut -s | |
<success> | |
. | |
> coconut tests/src/cocotest/python3 tests/dest/cocotest --target 3 --jobs 0 | |
Coconut: Compiling tests/src/cocotest/python3/py3_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py3_test.py . | |
> coconut tests/src/cocotest/python35 tests/dest/cocotest --target 35 --jobs 0 | |
Coconut: Compiling tests/src/cocotest/python35/py35_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py35_test.py . | |
> coconut tests/src/cocotest/agnostic tests/dest/cocotest --jobs 0 | |
Coconut: Compiling tests/src/cocotest/agnostic/__init__.coco ... | |
Coconut: Compiled to tests/dest/cocotest/__init__.py . | |
Coconut: Compiling tests/src/cocotest/agnostic/util.coco ... | |
Coconut: Compiled to tests/dest/cocotest/util.py . | |
Coconut: Compiling tests/src/cocotest/agnostic/main.coco ... | |
Coconut: Compiled to tests/dest/cocotest/main.py . | |
Coconut: Compiling tests/src/cocotest/agnostic/suite.coc ... | |
Coconut: Compiled to tests/dest/cocotest/suite.py . | |
Coconut: Compiling tests/src/cocotest/agnostic/specific.coco ... | |
Coconut: Compiled to tests/dest/cocotest/specific.py . | |
Coconut: Compiling tests/src/cocotest/agnostic/tutorial.coco ... | |
Coconut: Compiled to tests/dest/cocotest/tutorial.py . | |
> coconut tests/src/runner.coco tests/dest --jobs 0 | |
Coconut: Compiling tests/src/runner.coco ... | |
Coconut: Compiled to tests/dest/runner.py . | |
> python tests/dest/runner.py | |
F | |
> coconut tests/src/cocotest/python3 tests/dest/cocotest --target 3 --keeplines --jobs sys | |
Coconut: Compiling tests/src/cocotest/python3/py3_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py3_test.py . | |
> coconut tests/src/cocotest/python35 tests/dest/cocotest --target 35 --keeplines --jobs sys | |
Coconut: Compiling tests/src/cocotest/python35/py35_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py35_test.py . | |
> coconut tests/src/cocotest/agnostic tests/dest/cocotest --keeplines --jobs sys | |
Coconut: Compiling tests/src/cocotest/agnostic/__init__.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/util.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/main.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/suite.coc ... | |
Coconut: Compiling tests/src/cocotest/agnostic/specific.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/tutorial.coco ... | |
Coconut: Compiled to tests/dest/cocotest/__init__.py . | |
Coconut: Compiled to tests/dest/cocotest/specific.py . | |
Coconut: Compiled to tests/dest/cocotest/suite.py . | |
Coconut: Compiled to tests/dest/cocotest/main.py . | |
Coconut: Compiled to tests/dest/cocotest/tutorial.py . | |
Coconut: Compiled to tests/dest/cocotest/util.py . | |
> coconut tests/src/runner.coco tests/dest --keeplines --jobs sys | |
Coconut: Compiling tests/src/runner.coco ... | |
Coconut: Compiled to tests/dest/runner.py . | |
> python tests/dest/runner.py | |
F | |
> coconut tests/src/cocotest/python3 tests/dest/cocotest --target 3 --linenumbers --jobs sys | |
Coconut: Compiling tests/src/cocotest/python3/py3_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py3_test.py . | |
> coconut tests/src/cocotest/python35 tests/dest/cocotest --target 35 --linenumbers --jobs sys | |
Coconut: Compiling tests/src/cocotest/python35/py35_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py35_test.py . | |
> coconut tests/src/cocotest/agnostic tests/dest/cocotest --linenumbers --jobs sys | |
Coconut: Compiling tests/src/cocotest/agnostic/__init__.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/util.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/main.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/suite.coc ... | |
Coconut: Compiling tests/src/cocotest/agnostic/specific.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/tutorial.coco ... | |
Coconut: Compiled to tests/dest/cocotest/__init__.py . | |
Coconut: Compiled to tests/dest/cocotest/specific.py . | |
Coconut: Compiled to tests/dest/cocotest/suite.py . | |
Coconut: Compiled to tests/dest/cocotest/main.py . | |
Coconut: Compiled to tests/dest/cocotest/tutorial.py . | |
Coconut: Compiled to tests/dest/cocotest/util.py . | |
> coconut tests/src/runner.coco tests/dest --linenumbers --jobs sys | |
Coconut: Compiling tests/src/runner.coco ... | |
Coconut: Compiled to tests/dest/runner.py . | |
> python tests/dest/runner.py | |
F | |
> coconut tests/src/cocotest/python3 tests/dest/cocotest --target 3 --minify --jobs sys | |
Coconut: Compiling tests/src/cocotest/python3/py3_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py3_test.py . | |
> coconut tests/src/cocotest/python35 tests/dest/cocotest --target 35 --minify --jobs sys | |
Coconut: Compiling tests/src/cocotest/python35/py35_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py35_test.py . | |
> coconut tests/src/cocotest/agnostic tests/dest/cocotest --minify --jobs sys | |
Coconut: Compiling tests/src/cocotest/agnostic/__init__.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/util.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/main.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/suite.coc ... | |
Coconut: Compiling tests/src/cocotest/agnostic/specific.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/tutorial.coco ... | |
Coconut: Compiled to tests/dest/cocotest/__init__.py . | |
Coconut: Compiled to tests/dest/cocotest/specific.py . | |
Coconut: Compiled to tests/dest/cocotest/suite.py . | |
Coconut: Compiled to tests/dest/cocotest/main.py . | |
Coconut: Compiled to tests/dest/cocotest/tutorial.py . | |
Coconut: Compiled to tests/dest/cocotest/util.py . | |
> coconut tests/src/runner.coco tests/dest --minify --jobs sys | |
Coconut: Compiling tests/src/runner.coco ... | |
Coconut: Compiled to tests/dest/runner.py . | |
> python tests/dest/runner.py | |
F | |
> coconut tests/src/cocotest/python3 tests/dest/cocotest --target 3 --jobs sys | |
Coconut: Compiling tests/src/cocotest/python3/py3_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py3_test.py . | |
> coconut tests/src/cocotest/python35 tests/dest/cocotest --target 35 --jobs sys | |
Coconut: Compiling tests/src/cocotest/python35/py35_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py35_test.py . | |
> coconut tests/src/cocotest/agnostic tests/dest/cocotest --jobs sys | |
Coconut: Compiling tests/src/cocotest/agnostic/__init__.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/util.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/main.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/suite.coc ... | |
Coconut: Compiling tests/src/cocotest/agnostic/specific.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/tutorial.coco ... | |
Coconut: Compiled to tests/dest/cocotest/__init__.py . | |
Coconut: Compiled to tests/dest/cocotest/specific.py . | |
Coconut: Compiled to tests/dest/cocotest/suite.py . | |
Coconut: Compiled to tests/dest/cocotest/main.py . | |
Coconut: Compiled to tests/dest/cocotest/tutorial.py . | |
Coconut: Compiled to tests/dest/cocotest/util.py . | |
> coconut tests/src/runner.coco tests/dest --jobs sys | |
Coconut: Compiling tests/src/runner.coco ... | |
Coconut: Compiled to tests/dest/runner.py . | |
> python tests/dest/runner.py | |
F | |
> coconut tests/src/cocotest/python3 tests/dest/cocotest --target 3 --package --jobs sys | |
Coconut: Compiling tests/src/cocotest/python3/py3_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py3_test.py . | |
> coconut tests/src/cocotest/python35 tests/dest/cocotest --target 35 --package --jobs sys | |
Coconut: Compiling tests/src/cocotest/python35/py35_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py35_test.py . | |
> coconut tests/src/cocotest/agnostic tests/dest/cocotest --package --jobs sys | |
Coconut: Compiling tests/src/cocotest/agnostic/__init__.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/util.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/main.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/suite.coc ... | |
Coconut: Compiling tests/src/cocotest/agnostic/specific.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/tutorial.coco ... | |
Coconut: Compiled to tests/dest/cocotest/__init__.py . | |
Coconut: Compiled to tests/dest/cocotest/specific.py . | |
Coconut: Compiled to tests/dest/cocotest/suite.py . | |
Coconut: Compiled to tests/dest/cocotest/main.py . | |
Coconut: Compiled to tests/dest/cocotest/tutorial.py . | |
Coconut: Compiled to tests/dest/cocotest/util.py . | |
> coconut tests/src/runner.coco tests/dest --package --jobs sys | |
Coconut: Compiling tests/src/runner.coco ... | |
Coconut: Compiled to tests/dest/runner.py . | |
> python tests/dest/runner.py | |
F | |
> coconut tests/src/cocotest/python3 tests/dest/cocotest --target 3 --jobs sys | |
Coconut: Compiling tests/src/cocotest/python3/py3_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py3_test.py . | |
> coconut tests/src/cocotest/python35 tests/dest/cocotest --target 35 --jobs sys | |
Coconut: Compiling tests/src/cocotest/python35/py35_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py35_test.py . | |
> coconut tests/src/cocotest/agnostic tests/dest/cocotest --jobs sys | |
Coconut: Compiling tests/src/cocotest/agnostic/__init__.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/util.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/main.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/suite.coc ... | |
Coconut: Compiling tests/src/cocotest/agnostic/specific.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/tutorial.coco ... | |
Coconut: Compiled to tests/dest/cocotest/__init__.py . | |
Coconut: Compiled to tests/dest/cocotest/specific.py . | |
Coconut: Compiled to tests/dest/cocotest/suite.py . | |
Coconut: Compiled to tests/dest/cocotest/main.py . | |
Coconut: Compiled to tests/dest/cocotest/tutorial.py . | |
Coconut: Compiled to tests/dest/cocotest/util.py . | |
> coconut tests/src/runner.coco tests/dest --run --jobs sys | |
Coconut: Compiling tests/src/runner.coco ... | |
Coconut: Compiled to tests/dest/runner.py . | |
<success> | |
> coconut tests/src/extras.coco tests/dest --run --jobs sys | |
Coconut: Compiling tests/src/extras.coco ... | |
Coconut: Compiled to tests/dest/extras.py . | |
F | |
> coconut tests/src/cocotest/python3 tests/dest/cocotest --target 3 --standalone --jobs sys | |
Coconut: Compiling tests/src/cocotest/python3/py3_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py3_test.py . | |
> coconut tests/src/cocotest/python35 tests/dest/cocotest --target 35 --standalone --jobs sys | |
Coconut: Compiling tests/src/cocotest/python35/py35_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py35_test.py . | |
> coconut tests/src/cocotest/agnostic tests/dest/cocotest --standalone --jobs sys | |
Coconut: Compiling tests/src/cocotest/agnostic/__init__.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/util.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/main.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/suite.coc ... | |
Coconut: Compiling tests/src/cocotest/agnostic/specific.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/tutorial.coco ... | |
Coconut: Compiled to tests/dest/cocotest/__init__.py . | |
Coconut: Compiled to tests/dest/cocotest/specific.py . | |
Coconut: Compiled to tests/dest/cocotest/suite.py . | |
Coconut: Compiled to tests/dest/cocotest/main.py . | |
Coconut: Compiled to tests/dest/cocotest/tutorial.py . | |
Coconut: Compiled to tests/dest/cocotest/util.py . | |
> coconut tests/src/runner.coco tests/dest --standalone --jobs sys | |
Coconut: Compiling tests/src/runner.coco ... | |
Coconut: Compiled to tests/dest/runner.py . | |
> python tests/dest/runner.py | |
F | |
> coconut tests/src/cocotest/python3 tests/dest/cocotest --target 3 --strict --jobs sys | |
Coconut: Compiling tests/src/cocotest/python3/py3_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py3_test.py . | |
> coconut tests/src/cocotest/python35 tests/dest/cocotest --target 35 --strict --jobs sys | |
Coconut: Compiling tests/src/cocotest/python35/py35_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py35_test.py . | |
> coconut tests/src/cocotest/agnostic tests/dest/cocotest --strict --jobs sys | |
Coconut: Compiling tests/src/cocotest/agnostic/__init__.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/util.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/main.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/suite.coc ... | |
Coconut: Compiling tests/src/cocotest/agnostic/specific.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/tutorial.coco ... | |
Coconut: Compiled to tests/dest/cocotest/__init__.py . | |
Coconut: Compiled to tests/dest/cocotest/specific.py . | |
Coconut: Compiled to tests/dest/cocotest/suite.py . | |
Coconut: Compiled to tests/dest/cocotest/main.py . | |
Coconut: Compiled to tests/dest/cocotest/tutorial.py . | |
Coconut: Compiled to tests/dest/cocotest/util.py . | |
> coconut tests/src/runner.coco tests/dest --strict --jobs sys | |
Coconut: Compiling tests/src/runner.coco ... | |
Coconut: Compiled to tests/dest/runner.py . | |
> python tests/dest/runner.py | |
F | |
> coconut tests/src/cocotest/python3 tests/dest/cocotest --target 3 --jobs sys | |
Coconut: Compiling tests/src/cocotest/python3/py3_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py3_test.py . | |
> coconut tests/src/cocotest/python35 tests/dest/cocotest --target 35 --jobs sys | |
Coconut: Compiling tests/src/cocotest/python35/py35_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py35_test.py . | |
> coconut tests/src/cocotest/agnostic tests/dest/cocotest --target 3 --jobs sys | |
Coconut: Compiling tests/src/cocotest/agnostic/__init__.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/util.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/main.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/suite.coc ... | |
Coconut: Compiling tests/src/cocotest/agnostic/specific.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/tutorial.coco ... | |
Coconut: Compiled to tests/dest/cocotest/__init__.py . | |
Coconut: Compiled to tests/dest/cocotest/specific.py . | |
Coconut: Compiled to tests/dest/cocotest/suite.py . | |
Coconut: Compiled to tests/dest/cocotest/main.py . | |
Coconut: Compiled to tests/dest/cocotest/tutorial.py . | |
Coconut: Compiled to tests/dest/cocotest/util.py . | |
> coconut tests/src/runner.coco tests/dest --target 3 --jobs sys | |
Coconut: Compiling tests/src/runner.coco ... | |
Coconut: Compiled to tests/dest/runner.py . | |
> python tests/dest/runner.py | |
F | |
> git clone https://github.com/evhub/prisoner.git | |
Cloning into 'prisoner'... | |
remote: Counting objects: 699, done. | |
remote: Compressing objects: 100% (4/4), done. | |
remote: Total 699 (delta 0), reused 0 (delta 0), pack-reused 695 | |
Receiving objects: 100% (699/699), 90.74 KiB | 0 bytes/s, done. | |
Resolving deltas: 100% (465/465), done. | |
Checking connectivity... done. | |
> coconut prisoner --strict --jobs sys | |
Coconut: Compiling prisoner/prisoner/dilemma.coc ... | |
Coconut: Compiling prisoner/prisoner/__init__.coc ... | |
Coconut: Compiling prisoner/prisoner/__main__.coc ... | |
Coconut: Compiling prisoner/prisoner/bots.coc ... | |
Coconut: Compiled to prisoner/prisoner/__init__.py . | |
Coconut: Compiled to prisoner/prisoner/__main__.py . | |
Coconut: Compiled to prisoner/prisoner/bots.py . | |
Coconut: Compiled to prisoner/prisoner/dilemma.py . | |
. | |
> git clone https://github.com/evhub/pyston.git | |
Cloning into 'pyston'... | |
remote: Counting objects: 35286, done. | |
remote: Total 35286 (delta 0), reused 0 (delta 0), pack-reused 35285 | |
Receiving objects: 100% (35286/35286), 31.80 MiB | 7.29 MiB/s, done. | |
Resolving deltas: 100% (25967/25967), done. | |
Checking connectivity... done. | |
> coconut pyston --jobs sys | |
Coconut: Compiling pyston/runner.coc ... | |
Coconut: Compiling pyston/minibenchmarks/nbody_med.coc ... | |
Coconut: Compiling pyston/minibenchmarks/sqlalchemy_declarative.coc ... | |
Coconut: Compiling pyston/minibenchmarks/richards.coc ... | |
Coconut: Compiling pyston/minibenchmarks/go.coc ... | |
Coconut: Compiling pyston/minibenchmarks/pyxl_bench.coc ... | |
Coconut: Compiling pyston/minibenchmarks/pyaes.coc ... | |
Coconut: Compiling pyston/minibenchmarks/interp2.coc ... | |
Coconut: Compiling pyston/minibenchmarks/pidigits.coc ... | |
Coconut: Compiling pyston/minibenchmarks/interp.coc ... | |
Coconut: Compiling pyston/minibenchmarks/sqlalchemy_imperative.coc ... | |
Coconut: Compiling pyston/minibenchmarks/__init__.coc ... | |
Coconut: Compiling pyston/minibenchmarks/combined.coc ... | |
Coconut: Compiling pyston/minibenchmarks/bm_ai.coc ... | |
Coconut: Compiling pyston/minibenchmarks/chaos.coc ... | |
Coconut: Compiling pyston/minibenchmarks/fannkuch_med.coc ... | |
Coconut: Compiling pyston/minibenchmarks/fannkuch.coc ... | |
Coconut: Compiling pyston/minibenchmarks/schulze.coc ... | |
Coconut: Compiling pyston/minibenchmarks/raytrace.coc ... | |
Coconut: Compiling pyston/minibenchmarks/nbody.coc ... | |
Coconut: Compiling pyston/minibenchmarks/spectral_norm.coc ... | |
Coconut: Compiling pyston/minibenchmarks/allgroup.coc ... | |
Coconut: Compiling pyston/minibenchmarks/fasta.coc ... | |
Coconut: Compiling pyston/minibenchmarks/iobench.coc ... | |
Coconut: Compiling pyston/minibenchmarks/django_template.coc ... | |
Coconut: Compiling pyston/minibenchmarks/nq.coc ... | |
Coconut: Compiling pyston/minibenchmarks/deltablue.coc ... | |
Coconut: Compiling pyston/microbenchmarks/sre_compile_bench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/unicode_ctor_bench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/sre_optimize_unicode.coc ... | |
Coconut: Compiling pyston/microbenchmarks/getattrfunc_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/gcj_2014_2_b.coc ... | |
Coconut: Compiling pyston/microbenchmarks/sre_parse_parse.coc ... | |
Coconut: Compiling pyston/microbenchmarks/empty_loop.coc ... | |
Coconut: Compiling pyston/microbenchmarks/django_lexing.coc ... | |
Coconut: Compiling pyston/microbenchmarks/django_variable.coc ... | |
Coconut: Compiling pyston/microbenchmarks/bm_django.coc ... | |
Coconut: Compiling pyston/microbenchmarks/megamorphic_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/exceptions_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/thread_contention.coc ... | |
Coconut: Compiling pyston/microbenchmarks/str_find_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/itertools_chain_bench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/megamorphic_control_flow.coc ... | |
Coconut: Compiling pyston/microbenchmarks/simple_sum.coc ... | |
Coconut: Compiling pyston/microbenchmarks/control_flow_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/django_parsing.coc ... | |
Coconut: Compiling pyston/microbenchmarks/vecf_add.coc ... | |
Coconut: Compiling pyston/microbenchmarks/exceptions_2_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/__init__.coc ... | |
Coconut: Compiling pyston/microbenchmarks/set_sub_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/unicode_split_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/prime_summing.coc ... | |
Coconut: Compiling pyston/microbenchmarks/oldstyle_iteration.coc ... | |
Coconut: Compiling pyston/microbenchmarks/str_comparison_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/namedtuple_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/loop.coc ... | |
Coconut: Compiling pyston/microbenchmarks/repatching.coc ... | |
Coconut: Compiling pyston/microbenchmarks/function_calls.coc ... | |
Coconut: Compiling pyston/microbenchmarks/attrs.coc ... | |
Coconut: Compiling pyston/microbenchmarks/nq2.coc ... | |
Coconut: Compiling pyston/microbenchmarks/contains_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/fib2.coc ... | |
Coconut: Compiling pyston/microbenchmarks/gcj_2014_3_b.coc ... | |
Coconut: Compiling pyston/microbenchmarks/attribute_lookup.coc ... | |
Coconut: Compiling pyston/microbenchmarks/vecf_dot.coc ... | |
Coconut: Compiling pyston/microbenchmarks/django_template3_reduced.coc ... | |
Coconut: Compiling pyston/microbenchmarks/polymorphism.coc ... | |
Coconut: Compiling pyston/microbenchmarks/django_tiny.coc ... | |
Coconut: Compiling pyston/microbenchmarks/dict_hashing_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/oldstyle_class_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/lcg.coc ... | |
Coconut: Compiling pyston/microbenchmarks/tester.coc ... | |
Coconut: Compiling pyston/microbenchmarks/dict_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/fib.coc ... | |
Coconut: Compiling pyston/microbenchmarks/iteration.coc ... | |
Coconut: Compiling pyston/microbenchmarks/re_split_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/dict_globals_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/string_key_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/nested.coc ... | |
Coconut: Compiling pyston/microbenchmarks/sort.coc ... | |
Coconut: Compiling pyston/microbenchmarks/tuple_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/sre_parse_bench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/closures.coc ... | |
Coconut: Compiling pyston/microbenchmarks/re_finditer_bench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/pydigits.coc ... | |
Coconut: Compiling pyston/microbenchmarks/sre_compile_bench2.coc ... | |
Coconut: Compiling pyston/microbenchmarks/generator_switching.coc ... | |
Coconut: Compiling pyston/microbenchmarks/listcomp_bench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/unwinding.coc ... | |
Coconut: Compiling pyston/microbenchmarks/re_perf.coc ... | |
Coconut: Compiling pyston/microbenchmarks/thread_uncontended.coc ... | |
Coconut: Compiled to pyston/runner.py . | |
Coconut: Compiled to pyston/minibenchmarks/sqlalchemy_declarative.py . | |
Coconut: Compiled to pyston/minibenchmarks/pyxl_bench.py . | |
Coconut: Compiled to pyston/minibenchmarks/nbody_med.py . | |
Coconut: Compiled to pyston/minibenchmarks/interp2.py . | |
Coconut: Compiled to pyston/minibenchmarks/richards.py . | |
Coconut: Compiled to pyston/minibenchmarks/pidigits.py . | |
Coconut: Compiled to pyston/minibenchmarks/sqlalchemy_imperative.py . | |
in pyston/minibenchmarks/__init__.coc: | |
CoconutWarning: missing new line at end of file (line 1) | |
Coconut: Compiled to pyston/minibenchmarks/__init__.py . | |
Coconut: Compiled to pyston/minibenchmarks/combined.py . | |
Coconut: Compiled to pyston/minibenchmarks/interp.py . | |
Coconut: Compiled to pyston/minibenchmarks/bm_ai.py . | |
Coconut: Compiled to pyston/minibenchmarks/go.py . | |
Coconut: Compiled to pyston/minibenchmarks/pyaes.py . | |
Coconut: Compiled to pyston/minibenchmarks/fannkuch_med.py . | |
Coconut: Compiled to pyston/minibenchmarks/fannkuch.py . | |
Coconut: Compiled to pyston/minibenchmarks/schulze.py . | |
Coconut: Compiled to pyston/minibenchmarks/spectral_norm.py . | |
Coconut: Compiled to pyston/minibenchmarks/allgroup.py . | |
Coconut: Compiled to pyston/minibenchmarks/nbody.py . | |
Coconut: Compiled to pyston/minibenchmarks/fasta.py . | |
Coconut: Compiled to pyston/minibenchmarks/django_template.py . | |
Coconut: Compiled to pyston/minibenchmarks/chaos.py . | |
Coconut: Compiled to pyston/minibenchmarks/nq.py . | |
Coconut: Compiled to pyston/microbenchmarks/sre_compile_bench.py . | |
Coconut: Compiled to pyston/microbenchmarks/unicode_ctor_bench.py . | |
Coconut: Compiled to pyston/microbenchmarks/sre_optimize_unicode.py . | |
Coconut: Compiled to pyston/minibenchmarks/raytrace.py . | |
Coconut: Compiled to pyston/microbenchmarks/gcj_2014_2_b.py . | |
Coconut: Compiled to pyston/microbenchmarks/getattrfunc_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/sre_parse_parse.py . | |
Coconut: Compiled to pyston/microbenchmarks/empty_loop.py . | |
Coconut: Compiled to pyston/microbenchmarks/django_variable.py . | |
Coconut: Compiled to pyston/microbenchmarks/django_lexing.py . | |
Coconut: Compiled to pyston/microbenchmarks/megamorphic_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/exceptions_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/bm_django.py . | |
Coconut: Compiled to pyston/microbenchmarks/str_find_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/itertools_chain_bench.py . | |
Coconut: Compiled to pyston/microbenchmarks/thread_contention.py . | |
Coconut: Compiled to pyston/microbenchmarks/simple_sum.py . | |
Coconut: Compiled to pyston/microbenchmarks/megamorphic_control_flow.py . | |
Coconut: Compiled to pyston/microbenchmarks/control_flow_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/vecf_add.py . | |
Coconut: Compiled to pyston/microbenchmarks/django_parsing.py . | |
in pyston/microbenchmarks/__init__.coc: | |
CoconutWarning: missing new line at end of file (line 1) | |
Coconut: Compiled to pyston/microbenchmarks/__init__.py . | |
Coconut: Compiled to pyston/microbenchmarks/exceptions_2_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/set_sub_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/unicode_split_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/prime_summing.py . | |
Coconut: Compiled to pyston/microbenchmarks/oldstyle_iteration.py . | |
Coconut: Compiled to pyston/microbenchmarks/str_comparison_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/loop.py . | |
Coconut: Compiled to pyston/microbenchmarks/namedtuple_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/repatching.py . | |
Coconut: Compiled to pyston/minibenchmarks/iobench.py . | |
Coconut: Compiled to pyston/microbenchmarks/attrs.py . | |
Coconut: Compiled to pyston/microbenchmarks/contains_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/fib2.py . | |
Coconut: Compiled to pyston/microbenchmarks/function_calls.py . | |
Coconut: Compiled to pyston/microbenchmarks/attribute_lookup.py . | |
Coconut: Compiled to pyston/microbenchmarks/vecf_dot.py . | |
Coconut: Compiled to pyston/microbenchmarks/gcj_2014_3_b.py . | |
Coconut: Compiled to pyston/minibenchmarks/deltablue.py . | |
Coconut: Compiled to pyston/microbenchmarks/nq2.py . | |
Coconut: Compiled to pyston/microbenchmarks/polymorphism.py . | |
Coconut: Compiled to pyston/microbenchmarks/dict_hashing_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/lcg.py . | |
Coconut: Compiled to pyston/microbenchmarks/django_template3_reduced.py . | |
Coconut: Compiled to pyston/microbenchmarks/dict_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/fib.py . | |
Coconut: Compiled to pyston/microbenchmarks/django_tiny.py . | |
Coconut: Compiled to pyston/microbenchmarks/iteration.py . | |
Coconut: Compiled to pyston/microbenchmarks/oldstyle_class_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/string_key_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/dict_globals_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/re_split_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/nested.py . | |
Coconut: Compiled to pyston/microbenchmarks/tuple_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/tester.py . | |
Coconut: Compiled to pyston/microbenchmarks/sre_parse_bench.py . | |
Coconut: Compiled to pyston/microbenchmarks/closures.py . | |
Coconut: Compiled to pyston/microbenchmarks/re_finditer_bench.py . | |
Coconut: Compiled to pyston/microbenchmarks/sort.py . | |
Coconut: Compiled to pyston/microbenchmarks/generator_switching.py . | |
Coconut: Compiled to pyston/microbenchmarks/unwinding.py . | |
Coconut: Compiled to pyston/microbenchmarks/listcomp_bench.py . | |
Coconut: Compiled to pyston/microbenchmarks/pydigits.py . | |
Coconut: Compiled to pyston/microbenchmarks/re_perf.py . | |
Coconut: Compiled to pyston/microbenchmarks/thread_uncontended.py . | |
Coconut: Compiled to pyston/microbenchmarks/sre_compile_bench2.py . | |
. | |
================================================================================================== FAILURES ================================================================================================== | |
_________________________________________________________________________________________ TestShell.test_convenience _________________________________________________________________________________________ | |
self = <tests.main_test.TestShell testMethod=test_convenience> | |
def test_convenience(self): | |
> call(["python", "-c", 'from coconut.convenience import parse; exec(parse("' + coconut_snip + '"))'], assert_output=True) | |
tests/main_test.py:228: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
tests/main_test.py:60: in call | |
for raw_line in subprocess.Popen(cmd, stdout=subprocess.PIPE, **kwargs).stdout.readlines(): | |
../lib/python3.5/subprocess.py:947: in __init__ | |
restore_signals, start_new_session) | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <subprocess.Popen object at 0x7fe84f3586d8>, args = ['python', '-c', 'from coconut.convenience import parse; exec(parse("msg = \'<success>\'; pmsg = print$(msg); `pmsg`"))'], executable = b'python' | |
preexec_fn = None, close_fds = True, pass_fds = (), cwd = None, env = None, startupinfo = None, creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 3, c2pwrite = 4, errread = -1 | |
errwrite = -1, restore_signals = True, start_new_session = False | |
def _execute_child(self, args, executable, preexec_fn, close_fds, | |
pass_fds, cwd, env, | |
startupinfo, creationflags, shell, | |
p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite, | |
restore_signals, start_new_session): | |
"""Execute program (POSIX version)""" | |
if isinstance(args, (str, bytes)): | |
args = [args] | |
else: | |
args = list(args) | |
if shell: | |
args = ["/bin/sh", "-c"] + args | |
if executable: | |
args[0] = executable | |
if executable is None: | |
executable = args[0] | |
orig_executable = executable | |
# For transferring possible exec failure from child to parent. | |
# Data format: "exception name:hex errno:description" | |
# Pickle is not used; it is complex and involves memory allocation. | |
errpipe_read, errpipe_write = os.pipe() | |
# errpipe_write must not be in the standard io 0, 1, or 2 fd range. | |
low_fds_to_close = [] | |
while errpipe_write < 3: | |
low_fds_to_close.append(errpipe_write) | |
errpipe_write = os.dup(errpipe_write) | |
for low_fd in low_fds_to_close: | |
os.close(low_fd) | |
try: | |
try: | |
# We must avoid complex work that could involve | |
# malloc or free in the child process to avoid | |
# potential deadlocks, thus we do all this here. | |
# and pass it to fork_exec() | |
if env is not None: | |
env_list = [os.fsencode(k) + b'=' + os.fsencode(v) | |
for k, v in env.items()] | |
else: | |
env_list = None # Use execv instead of execve. | |
executable = os.fsencode(executable) | |
if os.path.dirname(executable): | |
executable_list = (executable,) | |
else: | |
# This matches the behavior of os._execvpe(). | |
executable_list = tuple( | |
os.path.join(os.fsencode(dir), executable) | |
for dir in os.get_exec_path(env)) | |
fds_to_keep = set(pass_fds) | |
fds_to_keep.add(errpipe_write) | |
self.pid = _posixsubprocess.fork_exec( | |
args, executable_list, | |
close_fds, sorted(fds_to_keep), cwd, env_list, | |
p2cread, p2cwrite, c2pread, c2pwrite, | |
errread, errwrite, | |
errpipe_read, errpipe_write, | |
restore_signals, start_new_session, preexec_fn) | |
self._child_created = True | |
finally: | |
# be sure the FD is closed no matter what | |
os.close(errpipe_write) | |
# self._devnull is not always defined. | |
devnull_fd = getattr(self, '_devnull', None) | |
if p2cread != -1 and p2cwrite != -1 and p2cread != devnull_fd: | |
os.close(p2cread) | |
if c2pwrite != -1 and c2pread != -1 and c2pwrite != devnull_fd: | |
os.close(c2pwrite) | |
if errwrite != -1 and errread != -1 and errwrite != devnull_fd: | |
os.close(errwrite) | |
if devnull_fd is not None: | |
os.close(devnull_fd) | |
# Prevent a double close of these fds from __init__ on error. | |
self._closed_child_pipe_fds = True | |
# Wait for exec to fail or succeed; possibly raising an | |
# exception (limited in size) | |
errpipe_data = bytearray() | |
while True: | |
part = os.read(errpipe_read, 50000) | |
errpipe_data += part | |
if not part or len(errpipe_data) > 50000: | |
break | |
finally: | |
# be sure the FD is closed no matter what | |
os.close(errpipe_read) | |
if errpipe_data: | |
try: | |
os.waitpid(self.pid, 0) | |
except ChildProcessError: | |
pass | |
try: | |
exception_name, hex_errno, err_msg = ( | |
errpipe_data.split(b':', 2)) | |
except ValueError: | |
exception_name = b'SubprocessError' | |
hex_errno = b'0' | |
err_msg = (b'Bad exception data from child: ' + | |
repr(errpipe_data)) | |
child_exception_type = getattr( | |
builtins, exception_name.decode('ascii'), | |
SubprocessError) | |
err_msg = err_msg.decode(errors="surrogatepass") | |
if issubclass(child_exception_type, OSError) and hex_errno: | |
errno_num = int(hex_errno, 16) | |
child_exec_never_called = (err_msg == "noexec") | |
if child_exec_never_called: | |
err_msg = "" | |
if errno_num != 0: | |
err_msg = os.strerror(errno_num) | |
if errno_num == errno.ENOENT: | |
if child_exec_never_called: | |
# The error must be from chdir(cwd). | |
err_msg += ': ' + repr(cwd) | |
else: | |
err_msg += ': ' + repr(orig_executable) | |
> raise child_exception_type(errno_num, err_msg) | |
E FileNotFoundError: [Errno 2] No such file or directory: 'python' | |
../lib/python3.5/subprocess.py:1551: FileNotFoundError | |
_______________________________________________________________________________________ TestCompilation.test_jobs_zero _______________________________________________________________________________________ | |
self = <tests.main_test.TestCompilation testMethod=test_jobs_zero> | |
def test_jobs_zero(self): | |
> run(["--jobs", "0"]) | |
tests/main_test.py:246: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
tests/main_test.py:174: in run | |
run_src() | |
tests/main_test.py:146: in run_src | |
call(["python", os.path.join(dest, "runner.py")], assert_output=True) | |
tests/main_test.py:60: in call | |
for raw_line in subprocess.Popen(cmd, stdout=subprocess.PIPE, **kwargs).stdout.readlines(): | |
../lib/python3.5/subprocess.py:947: in __init__ | |
restore_signals, start_new_session) | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <subprocess.Popen object at 0x7fe84f9dd2e8>, args = ['python', 'tests/dest/runner.py'], executable = b'python', preexec_fn = None, close_fds = True, pass_fds = (), cwd = None, env = None | |
startupinfo = None, creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 3, c2pwrite = 4, errread = -1, errwrite = -1, restore_signals = True, start_new_session = False | |
def _execute_child(self, args, executable, preexec_fn, close_fds, | |
pass_fds, cwd, env, | |
startupinfo, creationflags, shell, | |
p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite, | |
restore_signals, start_new_session): | |
"""Execute program (POSIX version)""" | |
if isinstance(args, (str, bytes)): | |
args = [args] | |
else: | |
args = list(args) | |
if shell: | |
args = ["/bin/sh", "-c"] + args | |
if executable: | |
args[0] = executable | |
if executable is None: | |
executable = args[0] | |
orig_executable = executable | |
# For transferring possible exec failure from child to parent. | |
# Data format: "exception name:hex errno:description" | |
# Pickle is not used; it is complex and involves memory allocation. | |
errpipe_read, errpipe_write = os.pipe() | |
# errpipe_write must not be in the standard io 0, 1, or 2 fd range. | |
low_fds_to_close = [] | |
while errpipe_write < 3: | |
low_fds_to_close.append(errpipe_write) | |
errpipe_write = os.dup(errpipe_write) | |
for low_fd in low_fds_to_close: | |
os.close(low_fd) | |
try: | |
try: | |
# We must avoid complex work that could involve | |
# malloc or free in the child process to avoid | |
# potential deadlocks, thus we do all this here. | |
# and pass it to fork_exec() | |
if env is not None: | |
env_list = [os.fsencode(k) + b'=' + os.fsencode(v) | |
for k, v in env.items()] | |
else: | |
env_list = None # Use execv instead of execve. | |
executable = os.fsencode(executable) | |
if os.path.dirname(executable): | |
executable_list = (executable,) | |
else: | |
# This matches the behavior of os._execvpe(). | |
executable_list = tuple( | |
os.path.join(os.fsencode(dir), executable) | |
for dir in os.get_exec_path(env)) | |
fds_to_keep = set(pass_fds) | |
fds_to_keep.add(errpipe_write) | |
self.pid = _posixsubprocess.fork_exec( | |
args, executable_list, | |
close_fds, sorted(fds_to_keep), cwd, env_list, | |
p2cread, p2cwrite, c2pread, c2pwrite, | |
errread, errwrite, | |
errpipe_read, errpipe_write, | |
restore_signals, start_new_session, preexec_fn) | |
self._child_created = True | |
finally: | |
# be sure the FD is closed no matter what | |
os.close(errpipe_write) | |
# self._devnull is not always defined. | |
devnull_fd = getattr(self, '_devnull', None) | |
if p2cread != -1 and p2cwrite != -1 and p2cread != devnull_fd: | |
os.close(p2cread) | |
if c2pwrite != -1 and c2pread != -1 and c2pwrite != devnull_fd: | |
os.close(c2pwrite) | |
if errwrite != -1 and errread != -1 and errwrite != devnull_fd: | |
os.close(errwrite) | |
if devnull_fd is not None: | |
os.close(devnull_fd) | |
# Prevent a double close of these fds from __init__ on error. | |
self._closed_child_pipe_fds = True | |
# Wait for exec to fail or succeed; possibly raising an | |
# exception (limited in size) | |
errpipe_data = bytearray() | |
while True: | |
part = os.read(errpipe_read, 50000) | |
errpipe_data += part | |
if not part or len(errpipe_data) > 50000: | |
break | |
finally: | |
# be sure the FD is closed no matter what | |
os.close(errpipe_read) | |
if errpipe_data: | |
try: | |
os.waitpid(self.pid, 0) | |
except ChildProcessError: | |
pass | |
try: | |
exception_name, hex_errno, err_msg = ( | |
errpipe_data.split(b':', 2)) | |
except ValueError: | |
exception_name = b'SubprocessError' | |
hex_errno = b'0' | |
err_msg = (b'Bad exception data from child: ' + | |
repr(errpipe_data)) | |
child_exception_type = getattr( | |
builtins, exception_name.decode('ascii'), | |
SubprocessError) | |
err_msg = err_msg.decode(errors="surrogatepass") | |
if issubclass(child_exception_type, OSError) and hex_errno: | |
errno_num = int(hex_errno, 16) | |
child_exec_never_called = (err_msg == "noexec") | |
if child_exec_never_called: | |
err_msg = "" | |
if errno_num != 0: | |
err_msg = os.strerror(errno_num) | |
if errno_num == errno.ENOENT: | |
if child_exec_never_called: | |
# The error must be from chdir(cwd). | |
err_msg += ': ' + repr(cwd) | |
else: | |
err_msg += ': ' + repr(orig_executable) | |
> raise child_exception_type(errno_num, err_msg) | |
E FileNotFoundError: [Errno 2] No such file or directory: 'python' | |
../lib/python3.5/subprocess.py:1551: FileNotFoundError | |
______________________________________________________________________________________ TestCompilation.test_keep_lines _______________________________________________________________________________________ | |
self = <tests.main_test.TestCompilation testMethod=test_keep_lines> | |
def test_keep_lines(self): | |
> run(["--keeplines"]) | |
tests/main_test.py:264: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
tests/main_test.py:174: in run | |
run_src() | |
tests/main_test.py:146: in run_src | |
call(["python", os.path.join(dest, "runner.py")], assert_output=True) | |
tests/main_test.py:60: in call | |
for raw_line in subprocess.Popen(cmd, stdout=subprocess.PIPE, **kwargs).stdout.readlines(): | |
../lib/python3.5/subprocess.py:947: in __init__ | |
restore_signals, start_new_session) | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <subprocess.Popen object at 0x7fe84f2c9d30>, args = ['python', 'tests/dest/runner.py'], executable = b'python', preexec_fn = None, close_fds = True, pass_fds = (), cwd = None, env = None | |
startupinfo = None, creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 3, c2pwrite = 4, errread = -1, errwrite = -1, restore_signals = True, start_new_session = False | |
def _execute_child(self, args, executable, preexec_fn, close_fds, | |
pass_fds, cwd, env, | |
startupinfo, creationflags, shell, | |
p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite, | |
restore_signals, start_new_session): | |
"""Execute program (POSIX version)""" | |
if isinstance(args, (str, bytes)): | |
args = [args] | |
else: | |
args = list(args) | |
if shell: | |
args = ["/bin/sh", "-c"] + args | |
if executable: | |
args[0] = executable | |
if executable is None: | |
executable = args[0] | |
orig_executable = executable | |
# For transferring possible exec failure from child to parent. | |
# Data format: "exception name:hex errno:description" | |
# Pickle is not used; it is complex and involves memory allocation. | |
errpipe_read, errpipe_write = os.pipe() | |
# errpipe_write must not be in the standard io 0, 1, or 2 fd range. | |
low_fds_to_close = [] | |
while errpipe_write < 3: | |
low_fds_to_close.append(errpipe_write) | |
errpipe_write = os.dup(errpipe_write) | |
for low_fd in low_fds_to_close: | |
os.close(low_fd) | |
try: | |
try: | |
# We must avoid complex work that could involve | |
# malloc or free in the child process to avoid | |
# potential deadlocks, thus we do all this here. | |
# and pass it to fork_exec() | |
if env is not None: | |
env_list = [os.fsencode(k) + b'=' + os.fsencode(v) | |
for k, v in env.items()] | |
else: | |
env_list = None # Use execv instead of execve. | |
executable = os.fsencode(executable) | |
if os.path.dirname(executable): | |
executable_list = (executable,) | |
else: | |
# This matches the behavior of os._execvpe(). | |
executable_list = tuple( | |
os.path.join(os.fsencode(dir), executable) | |
for dir in os.get_exec_path(env)) | |
fds_to_keep = set(pass_fds) | |
fds_to_keep.add(errpipe_write) | |
self.pid = _posixsubprocess.fork_exec( | |
args, executable_list, | |
close_fds, sorted(fds_to_keep), cwd, env_list, | |
p2cread, p2cwrite, c2pread, c2pwrite, | |
errread, errwrite, | |
errpipe_read, errpipe_write, | |
restore_signals, start_new_session, preexec_fn) | |
self._child_created = True | |
finally: | |
# be sure the FD is closed no matter what | |
os.close(errpipe_write) | |
# self._devnull is not always defined. | |
devnull_fd = getattr(self, '_devnull', None) | |
if p2cread != -1 and p2cwrite != -1 and p2cread != devnull_fd: | |
os.close(p2cread) | |
if c2pwrite != -1 and c2pread != -1 and c2pwrite != devnull_fd: | |
os.close(c2pwrite) | |
if errwrite != -1 and errread != -1 and errwrite != devnull_fd: | |
os.close(errwrite) | |
if devnull_fd is not None: | |
os.close(devnull_fd) | |
# Prevent a double close of these fds from __init__ on error. | |
self._closed_child_pipe_fds = True | |
# Wait for exec to fail or succeed; possibly raising an | |
# exception (limited in size) | |
errpipe_data = bytearray() | |
while True: | |
part = os.read(errpipe_read, 50000) | |
errpipe_data += part | |
if not part or len(errpipe_data) > 50000: | |
break | |
finally: | |
# be sure the FD is closed no matter what | |
os.close(errpipe_read) | |
if errpipe_data: | |
try: | |
os.waitpid(self.pid, 0) | |
except ChildProcessError: | |
pass | |
try: | |
exception_name, hex_errno, err_msg = ( | |
errpipe_data.split(b':', 2)) | |
except ValueError: | |
exception_name = b'SubprocessError' | |
hex_errno = b'0' | |
err_msg = (b'Bad exception data from child: ' + | |
repr(errpipe_data)) | |
child_exception_type = getattr( | |
builtins, exception_name.decode('ascii'), | |
SubprocessError) | |
err_msg = err_msg.decode(errors="surrogatepass") | |
if issubclass(child_exception_type, OSError) and hex_errno: | |
errno_num = int(hex_errno, 16) | |
child_exec_never_called = (err_msg == "noexec") | |
if child_exec_never_called: | |
err_msg = "" | |
if errno_num != 0: | |
err_msg = os.strerror(errno_num) | |
if errno_num == errno.ENOENT: | |
if child_exec_never_called: | |
# The error must be from chdir(cwd). | |
err_msg += ': ' + repr(cwd) | |
else: | |
err_msg += ': ' + repr(orig_executable) | |
> raise child_exception_type(errno_num, err_msg) | |
E FileNotFoundError: [Errno 2] No such file or directory: 'python' | |
../lib/python3.5/subprocess.py:1551: FileNotFoundError | |
_____________________________________________________________________________________ TestCompilation.test_line_numbers ______________________________________________________________________________________ | |
self = <tests.main_test.TestCompilation testMethod=test_line_numbers> | |
def test_line_numbers(self): | |
> run(["--linenumbers"]) | |
tests/main_test.py:261: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
tests/main_test.py:174: in run | |
run_src() | |
tests/main_test.py:146: in run_src | |
call(["python", os.path.join(dest, "runner.py")], assert_output=True) | |
tests/main_test.py:60: in call | |
for raw_line in subprocess.Popen(cmd, stdout=subprocess.PIPE, **kwargs).stdout.readlines(): | |
../lib/python3.5/subprocess.py:947: in __init__ | |
restore_signals, start_new_session) | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <subprocess.Popen object at 0x7fe84f21e5f8>, args = ['python', 'tests/dest/runner.py'], executable = b'python', preexec_fn = None, close_fds = True, pass_fds = (), cwd = None, env = None | |
startupinfo = None, creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 3, c2pwrite = 4, errread = -1, errwrite = -1, restore_signals = True, start_new_session = False | |
def _execute_child(self, args, executable, preexec_fn, close_fds, | |
pass_fds, cwd, env, | |
startupinfo, creationflags, shell, | |
p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite, | |
restore_signals, start_new_session): | |
"""Execute program (POSIX version)""" | |
if isinstance(args, (str, bytes)): | |
args = [args] | |
else: | |
args = list(args) | |
if shell: | |
args = ["/bin/sh", "-c"] + args | |
if executable: | |
args[0] = executable | |
if executable is None: | |
executable = args[0] | |
orig_executable = executable | |
# For transferring possible exec failure from child to parent. | |
# Data format: "exception name:hex errno:description" | |
# Pickle is not used; it is complex and involves memory allocation. | |
errpipe_read, errpipe_write = os.pipe() | |
# errpipe_write must not be in the standard io 0, 1, or 2 fd range. | |
low_fds_to_close = [] | |
while errpipe_write < 3: | |
low_fds_to_close.append(errpipe_write) | |
errpipe_write = os.dup(errpipe_write) | |
for low_fd in low_fds_to_close: | |
os.close(low_fd) | |
try: | |
try: | |
# We must avoid complex work that could involve | |
# malloc or free in the child process to avoid | |
# potential deadlocks, thus we do all this here. | |
# and pass it to fork_exec() | |
if env is not None: | |
env_list = [os.fsencode(k) + b'=' + os.fsencode(v) | |
for k, v in env.items()] | |
else: | |
env_list = None # Use execv instead of execve. | |
executable = os.fsencode(executable) | |
if os.path.dirname(executable): | |
executable_list = (executable,) | |
else: | |
# This matches the behavior of os._execvpe(). | |
executable_list = tuple( | |
os.path.join(os.fsencode(dir), executable) | |
for dir in os.get_exec_path(env)) | |
fds_to_keep = set(pass_fds) | |
fds_to_keep.add(errpipe_write) | |
self.pid = _posixsubprocess.fork_exec( | |
args, executable_list, | |
close_fds, sorted(fds_to_keep), cwd, env_list, | |
p2cread, p2cwrite, c2pread, c2pwrite, | |
errread, errwrite, | |
errpipe_read, errpipe_write, | |
restore_signals, start_new_session, preexec_fn) | |
self._child_created = True | |
finally: | |
# be sure the FD is closed no matter what | |
os.close(errpipe_write) | |
# self._devnull is not always defined. | |
devnull_fd = getattr(self, '_devnull', None) | |
if p2cread != -1 and p2cwrite != -1 and p2cread != devnull_fd: | |
os.close(p2cread) | |
if c2pwrite != -1 and c2pread != -1 and c2pwrite != devnull_fd: | |
os.close(c2pwrite) | |
if errwrite != -1 and errread != -1 and errwrite != devnull_fd: | |
os.close(errwrite) | |
if devnull_fd is not None: | |
os.close(devnull_fd) | |
# Prevent a double close of these fds from __init__ on error. | |
self._closed_child_pipe_fds = True | |
# Wait for exec to fail or succeed; possibly raising an | |
# exception (limited in size) | |
errpipe_data = bytearray() | |
while True: | |
part = os.read(errpipe_read, 50000) | |
errpipe_data += part | |
if not part or len(errpipe_data) > 50000: | |
break | |
finally: | |
# be sure the FD is closed no matter what | |
os.close(errpipe_read) | |
if errpipe_data: | |
try: | |
os.waitpid(self.pid, 0) | |
except ChildProcessError: | |
pass | |
try: | |
exception_name, hex_errno, err_msg = ( | |
errpipe_data.split(b':', 2)) | |
except ValueError: | |
exception_name = b'SubprocessError' | |
hex_errno = b'0' | |
err_msg = (b'Bad exception data from child: ' + | |
repr(errpipe_data)) | |
child_exception_type = getattr( | |
builtins, exception_name.decode('ascii'), | |
SubprocessError) | |
err_msg = err_msg.decode(errors="surrogatepass") | |
if issubclass(child_exception_type, OSError) and hex_errno: | |
errno_num = int(hex_errno, 16) | |
child_exec_never_called = (err_msg == "noexec") | |
if child_exec_never_called: | |
err_msg = "" | |
if errno_num != 0: | |
err_msg = os.strerror(errno_num) | |
if errno_num == errno.ENOENT: | |
if child_exec_never_called: | |
# The error must be from chdir(cwd). | |
err_msg += ': ' + repr(cwd) | |
else: | |
err_msg += ': ' + repr(orig_executable) | |
> raise child_exception_type(errno_num, err_msg) | |
E FileNotFoundError: [Errno 2] No such file or directory: 'python' | |
../lib/python3.5/subprocess.py:1551: FileNotFoundError | |
________________________________________________________________________________________ TestCompilation.test_minify _________________________________________________________________________________________ | |
self = <tests.main_test.TestCompilation testMethod=test_minify> | |
def test_minify(self): | |
> run(["--minify"]) | |
tests/main_test.py:267: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
tests/main_test.py:174: in run | |
run_src() | |
tests/main_test.py:146: in run_src | |
call(["python", os.path.join(dest, "runner.py")], assert_output=True) | |
tests/main_test.py:60: in call | |
for raw_line in subprocess.Popen(cmd, stdout=subprocess.PIPE, **kwargs).stdout.readlines(): | |
../lib/python3.5/subprocess.py:947: in __init__ | |
restore_signals, start_new_session) | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <subprocess.Popen object at 0x7fe84f2a9c88>, args = ['python', 'tests/dest/runner.py'], executable = b'python', preexec_fn = None, close_fds = True, pass_fds = (), cwd = None, env = None | |
startupinfo = None, creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 3, c2pwrite = 4, errread = -1, errwrite = -1, restore_signals = True, start_new_session = False | |
def _execute_child(self, args, executable, preexec_fn, close_fds, | |
pass_fds, cwd, env, | |
startupinfo, creationflags, shell, | |
p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite, | |
restore_signals, start_new_session): | |
"""Execute program (POSIX version)""" | |
if isinstance(args, (str, bytes)): | |
args = [args] | |
else: | |
args = list(args) | |
if shell: | |
args = ["/bin/sh", "-c"] + args | |
if executable: | |
args[0] = executable | |
if executable is None: | |
executable = args[0] | |
orig_executable = executable | |
# For transferring possible exec failure from child to parent. | |
# Data format: "exception name:hex errno:description" | |
# Pickle is not used; it is complex and involves memory allocation. | |
errpipe_read, errpipe_write = os.pipe() | |
# errpipe_write must not be in the standard io 0, 1, or 2 fd range. | |
low_fds_to_close = [] | |
while errpipe_write < 3: | |
low_fds_to_close.append(errpipe_write) | |
errpipe_write = os.dup(errpipe_write) | |
for low_fd in low_fds_to_close: | |
os.close(low_fd) | |
try: | |
try: | |
# We must avoid complex work that could involve | |
# malloc or free in the child process to avoid | |
# potential deadlocks, thus we do all this here. | |
# and pass it to fork_exec() | |
if env is not None: | |
env_list = [os.fsencode(k) + b'=' + os.fsencode(v) | |
for k, v in env.items()] | |
else: | |
env_list = None # Use execv instead of execve. | |
executable = os.fsencode(executable) | |
if os.path.dirname(executable): | |
executable_list = (executable,) | |
else: | |
# This matches the behavior of os._execvpe(). | |
executable_list = tuple( | |
os.path.join(os.fsencode(dir), executable) | |
for dir in os.get_exec_path(env)) | |
fds_to_keep = set(pass_fds) | |
fds_to_keep.add(errpipe_write) | |
self.pid = _posixsubprocess.fork_exec( | |
args, executable_list, | |
close_fds, sorted(fds_to_keep), cwd, env_list, | |
p2cread, p2cwrite, c2pread, c2pwrite, | |
errread, errwrite, | |
errpipe_read, errpipe_write, | |
restore_signals, start_new_session, preexec_fn) | |
self._child_created = True | |
finally: | |
# be sure the FD is closed no matter what | |
os.close(errpipe_write) | |
# self._devnull is not always defined. | |
devnull_fd = getattr(self, '_devnull', None) | |
if p2cread != -1 and p2cwrite != -1 and p2cread != devnull_fd: | |
os.close(p2cread) | |
if c2pwrite != -1 and c2pread != -1 and c2pwrite != devnull_fd: | |
os.close(c2pwrite) | |
if errwrite != -1 and errread != -1 and errwrite != devnull_fd: | |
os.close(errwrite) | |
if devnull_fd is not None: | |
os.close(devnull_fd) | |
# Prevent a double close of these fds from __init__ on error. | |
self._closed_child_pipe_fds = True | |
# Wait for exec to fail or succeed; possibly raising an | |
# exception (limited in size) | |
errpipe_data = bytearray() | |
while True: | |
part = os.read(errpipe_read, 50000) | |
errpipe_data += part | |
if not part or len(errpipe_data) > 50000: | |
break | |
finally: | |
# be sure the FD is closed no matter what | |
os.close(errpipe_read) | |
if errpipe_data: | |
try: | |
os.waitpid(self.pid, 0) | |
except ChildProcessError: | |
pass | |
try: | |
exception_name, hex_errno, err_msg = ( | |
errpipe_data.split(b':', 2)) | |
except ValueError: | |
exception_name = b'SubprocessError' | |
hex_errno = b'0' | |
err_msg = (b'Bad exception data from child: ' + | |
repr(errpipe_data)) | |
child_exception_type = getattr( | |
builtins, exception_name.decode('ascii'), | |
SubprocessError) | |
err_msg = err_msg.decode(errors="surrogatepass") | |
if issubclass(child_exception_type, OSError) and hex_errno: | |
errno_num = int(hex_errno, 16) | |
child_exec_never_called = (err_msg == "noexec") | |
if child_exec_never_called: | |
err_msg = "" | |
if errno_num != 0: | |
err_msg = os.strerror(errno_num) | |
if errno_num == errno.ENOENT: | |
if child_exec_never_called: | |
# The error must be from chdir(cwd). | |
err_msg += ': ' + repr(cwd) | |
else: | |
err_msg += ': ' + repr(orig_executable) | |
> raise child_exception_type(errno_num, err_msg) | |
E FileNotFoundError: [Errno 2] No such file or directory: 'python' | |
../lib/python3.5/subprocess.py:1551: FileNotFoundError | |
________________________________________________________________________________________ TestCompilation.test_normal _________________________________________________________________________________________ | |
self = <tests.main_test.TestCompilation testMethod=test_normal> | |
def test_normal(self): | |
> run() | |
tests/main_test.py:242: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
tests/main_test.py:174: in run | |
run_src() | |
tests/main_test.py:146: in run_src | |
call(["python", os.path.join(dest, "runner.py")], assert_output=True) | |
tests/main_test.py:60: in call | |
for raw_line in subprocess.Popen(cmd, stdout=subprocess.PIPE, **kwargs).stdout.readlines(): | |
../lib/python3.5/subprocess.py:947: in __init__ | |
restore_signals, start_new_session) | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <subprocess.Popen object at 0x7fe84f064550>, args = ['python', 'tests/dest/runner.py'], executable = b'python', preexec_fn = None, close_fds = True, pass_fds = (), cwd = None, env = None | |
startupinfo = None, creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 3, c2pwrite = 4, errread = -1, errwrite = -1, restore_signals = True, start_new_session = False | |
def _execute_child(self, args, executable, preexec_fn, close_fds, | |
pass_fds, cwd, env, | |
startupinfo, creationflags, shell, | |
p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite, | |
restore_signals, start_new_session): | |
"""Execute program (POSIX version)""" | |
if isinstance(args, (str, bytes)): | |
args = [args] | |
else: | |
args = list(args) | |
if shell: | |
args = ["/bin/sh", "-c"] + args | |
if executable: | |
args[0] = executable | |
if executable is None: | |
executable = args[0] | |
orig_executable = executable | |
# For transferring possible exec failure from child to parent. | |
# Data format: "exception name:hex errno:description" | |
# Pickle is not used; it is complex and involves memory allocation. | |
errpipe_read, errpipe_write = os.pipe() | |
# errpipe_write must not be in the standard io 0, 1, or 2 fd range. | |
low_fds_to_close = [] | |
while errpipe_write < 3: | |
low_fds_to_close.append(errpipe_write) | |
errpipe_write = os.dup(errpipe_write) | |
for low_fd in low_fds_to_close: | |
os.close(low_fd) | |
try: | |
try: | |
# We must avoid complex work that could involve | |
# malloc or free in the child process to avoid | |
# potential deadlocks, thus we do all this here. | |
# and pass it to fork_exec() | |
if env is not None: | |
env_list = [os.fsencode(k) + b'=' + os.fsencode(v) | |
for k, v in env.items()] | |
else: | |
env_list = None # Use execv instead of execve. | |
executable = os.fsencode(executable) | |
if os.path.dirname(executable): | |
executable_list = (executable,) | |
else: | |
# This matches the behavior of os._execvpe(). | |
executable_list = tuple( | |
os.path.join(os.fsencode(dir), executable) | |
for dir in os.get_exec_path(env)) | |
fds_to_keep = set(pass_fds) | |
fds_to_keep.add(errpipe_write) | |
self.pid = _posixsubprocess.fork_exec( | |
args, executable_list, | |
close_fds, sorted(fds_to_keep), cwd, env_list, | |
p2cread, p2cwrite, c2pread, c2pwrite, | |
errread, errwrite, | |
errpipe_read, errpipe_write, | |
restore_signals, start_new_session, preexec_fn) | |
self._child_created = True | |
finally: | |
# be sure the FD is closed no matter what | |
os.close(errpipe_write) | |
# self._devnull is not always defined. | |
devnull_fd = getattr(self, '_devnull', None) | |
if p2cread != -1 and p2cwrite != -1 and p2cread != devnull_fd: | |
os.close(p2cread) | |
if c2pwrite != -1 and c2pread != -1 and c2pwrite != devnull_fd: | |
os.close(c2pwrite) | |
if errwrite != -1 and errread != -1 and errwrite != devnull_fd: | |
os.close(errwrite) | |
if devnull_fd is not None: | |
os.close(devnull_fd) | |
# Prevent a double close of these fds from __init__ on error. | |
self._closed_child_pipe_fds = True | |
# Wait for exec to fail or succeed; possibly raising an | |
# exception (limited in size) | |
errpipe_data = bytearray() | |
while True: | |
part = os.read(errpipe_read, 50000) | |
errpipe_data += part | |
if not part or len(errpipe_data) > 50000: | |
break | |
finally: | |
# be sure the FD is closed no matter what | |
os.close(errpipe_read) | |
if errpipe_data: | |
try: | |
os.waitpid(self.pid, 0) | |
except ChildProcessError: | |
pass | |
try: | |
exception_name, hex_errno, err_msg = ( | |
errpipe_data.split(b':', 2)) | |
except ValueError: | |
exception_name = b'SubprocessError' | |
hex_errno = b'0' | |
err_msg = (b'Bad exception data from child: ' + | |
repr(errpipe_data)) | |
child_exception_type = getattr( | |
builtins, exception_name.decode('ascii'), | |
SubprocessError) | |
err_msg = err_msg.decode(errors="surrogatepass") | |
if issubclass(child_exception_type, OSError) and hex_errno: | |
errno_num = int(hex_errno, 16) | |
child_exec_never_called = (err_msg == "noexec") | |
if child_exec_never_called: | |
err_msg = "" | |
if errno_num != 0: | |
err_msg = os.strerror(errno_num) | |
if errno_num == errno.ENOENT: | |
if child_exec_never_called: | |
# The error must be from chdir(cwd). | |
err_msg += ': ' + repr(cwd) | |
else: | |
err_msg += ': ' + repr(orig_executable) | |
> raise child_exception_type(errno_num, err_msg) | |
E FileNotFoundError: [Errno 2] No such file or directory: 'python' | |
../lib/python3.5/subprocess.py:1551: FileNotFoundError | |
________________________________________________________________________________________ TestCompilation.test_package ________________________________________________________________________________________ | |
self = <tests.main_test.TestCompilation testMethod=test_package> | |
def test_package(self): | |
> run(["--package"]) | |
tests/main_test.py:258: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
tests/main_test.py:174: in run | |
run_src() | |
tests/main_test.py:146: in run_src | |
call(["python", os.path.join(dest, "runner.py")], assert_output=True) | |
tests/main_test.py:60: in call | |
for raw_line in subprocess.Popen(cmd, stdout=subprocess.PIPE, **kwargs).stdout.readlines(): | |
../lib/python3.5/subprocess.py:947: in __init__ | |
restore_signals, start_new_session) | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <subprocess.Popen object at 0x7fe84f2c98d0>, args = ['python', 'tests/dest/runner.py'], executable = b'python', preexec_fn = None, close_fds = True, pass_fds = (), cwd = None, env = None | |
startupinfo = None, creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 3, c2pwrite = 4, errread = -1, errwrite = -1, restore_signals = True, start_new_session = False | |
def _execute_child(self, args, executable, preexec_fn, close_fds, | |
pass_fds, cwd, env, | |
startupinfo, creationflags, shell, | |
p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite, | |
restore_signals, start_new_session): | |
"""Execute program (POSIX version)""" | |
if isinstance(args, (str, bytes)): | |
args = [args] | |
else: | |
args = list(args) | |
if shell: | |
args = ["/bin/sh", "-c"] + args | |
if executable: | |
args[0] = executable | |
if executable is None: | |
executable = args[0] | |
orig_executable = executable | |
# For transferring possible exec failure from child to parent. | |
# Data format: "exception name:hex errno:description" | |
# Pickle is not used; it is complex and involves memory allocation. | |
errpipe_read, errpipe_write = os.pipe() | |
# errpipe_write must not be in the standard io 0, 1, or 2 fd range. | |
low_fds_to_close = [] | |
while errpipe_write < 3: | |
low_fds_to_close.append(errpipe_write) | |
errpipe_write = os.dup(errpipe_write) | |
for low_fd in low_fds_to_close: | |
os.close(low_fd) | |
try: | |
try: | |
# We must avoid complex work that could involve | |
# malloc or free in the child process to avoid | |
# potential deadlocks, thus we do all this here. | |
# and pass it to fork_exec() | |
if env is not None: | |
env_list = [os.fsencode(k) + b'=' + os.fsencode(v) | |
for k, v in env.items()] | |
else: | |
env_list = None # Use execv instead of execve. | |
executable = os.fsencode(executable) | |
if os.path.dirname(executable): | |
executable_list = (executable,) | |
else: | |
# This matches the behavior of os._execvpe(). | |
executable_list = tuple( | |
os.path.join(os.fsencode(dir), executable) | |
for dir in os.get_exec_path(env)) | |
fds_to_keep = set(pass_fds) | |
fds_to_keep.add(errpipe_write) | |
self.pid = _posixsubprocess.fork_exec( | |
args, executable_list, | |
close_fds, sorted(fds_to_keep), cwd, env_list, | |
p2cread, p2cwrite, c2pread, c2pwrite, | |
errread, errwrite, | |
errpipe_read, errpipe_write, | |
restore_signals, start_new_session, preexec_fn) | |
self._child_created = True | |
finally: | |
# be sure the FD is closed no matter what | |
os.close(errpipe_write) | |
# self._devnull is not always defined. | |
devnull_fd = getattr(self, '_devnull', None) | |
if p2cread != -1 and p2cwrite != -1 and p2cread != devnull_fd: | |
os.close(p2cread) | |
if c2pwrite != -1 and c2pread != -1 and c2pwrite != devnull_fd: | |
os.close(c2pwrite) | |
if errwrite != -1 and errread != -1 and errwrite != devnull_fd: | |
os.close(errwrite) | |
if devnull_fd is not None: | |
os.close(devnull_fd) | |
# Prevent a double close of these fds from __init__ on error. | |
self._closed_child_pipe_fds = True | |
# Wait for exec to fail or succeed; possibly raising an | |
# exception (limited in size) | |
errpipe_data = bytearray() | |
while True: | |
part = os.read(errpipe_read, 50000) | |
errpipe_data += part | |
if not part or len(errpipe_data) > 50000: | |
break | |
finally: | |
# be sure the FD is closed no matter what | |
os.close(errpipe_read) | |
if errpipe_data: | |
try: | |
os.waitpid(self.pid, 0) | |
except ChildProcessError: | |
pass | |
try: | |
exception_name, hex_errno, err_msg = ( | |
errpipe_data.split(b':', 2)) | |
except ValueError: | |
exception_name = b'SubprocessError' | |
hex_errno = b'0' | |
err_msg = (b'Bad exception data from child: ' + | |
repr(errpipe_data)) | |
child_exception_type = getattr( | |
builtins, exception_name.decode('ascii'), | |
SubprocessError) | |
err_msg = err_msg.decode(errors="surrogatepass") | |
if issubclass(child_exception_type, OSError) and hex_errno: | |
errno_num = int(hex_errno, 16) | |
child_exec_never_called = (err_msg == "noexec") | |
if child_exec_never_called: | |
err_msg = "" | |
if errno_num != 0: | |
err_msg = os.strerror(errno_num) | |
if errno_num == errno.ENOENT: | |
if child_exec_never_called: | |
# The error must be from chdir(cwd). | |
err_msg += ': ' + repr(cwd) | |
else: | |
err_msg += ': ' + repr(orig_executable) | |
> raise child_exception_type(errno_num, err_msg) | |
E FileNotFoundError: [Errno 2] No such file or directory: 'python' | |
../lib/python3.5/subprocess.py:1551: FileNotFoundError | |
__________________________________________________________________________________________ TestCompilation.test_run __________________________________________________________________________________________ | |
self = <tests.main_test.TestCompilation testMethod=test_run> | |
def test_run(self): | |
> run(comp_run=True) | |
tests/main_test.py:249: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
tests/main_test.py:178: in run | |
comp_extras(agnostic_args + ["--run"]) | |
tests/main_test.py:116: in comp_extras | |
comp(file="extras.coco", args=args) | |
tests/main_test.py:86: in comp | |
call_coconut([source, compdest] + args) | |
tests/main_test.py:72: in call_coconut | |
call(["coconut"] + args) | |
tests/main_test.py:65: in call | |
subprocess.check_call(cmd, **kwargs) | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
popenargs = (['coconut', 'tests/src/extras.coco', 'tests/dest', '--run', '--jobs', 'sys'],), kwargs = {}, retcode = -11, cmd = ['coconut', 'tests/src/extras.coco', 'tests/dest', '--run', '--jobs', 'sys'] | |
def check_call(*popenargs, **kwargs): | |
"""Run command with arguments. Wait for command to complete. If | |
the exit code was zero then return, otherwise raise | |
CalledProcessError. The CalledProcessError object will have the | |
return code in the returncode attribute. | |
The arguments are the same as for the call function. Example: | |
check_call(["ls", "-l"]) | |
""" | |
retcode = call(*popenargs, **kwargs) | |
if retcode: | |
cmd = kwargs.get("args") | |
if cmd is None: | |
cmd = popenargs[0] | |
> raise CalledProcessError(retcode, cmd) | |
E subprocess.CalledProcessError: Command '['coconut', 'tests/src/extras.coco', 'tests/dest', '--run', '--jobs', 'sys']' returned non-zero exit status -11 | |
../lib/python3.5/subprocess.py:581: CalledProcessError | |
______________________________________________________________________________________ TestCompilation.test_standalone _______________________________________________________________________________________ | |
self = <tests.main_test.TestCompilation testMethod=test_standalone> | |
def test_standalone(self): | |
> run(["--standalone"]) | |
tests/main_test.py:255: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
tests/main_test.py:174: in run | |
run_src() | |
tests/main_test.py:146: in run_src | |
call(["python", os.path.join(dest, "runner.py")], assert_output=True) | |
tests/main_test.py:60: in call | |
for raw_line in subprocess.Popen(cmd, stdout=subprocess.PIPE, **kwargs).stdout.readlines(): | |
../lib/python3.5/subprocess.py:947: in __init__ | |
restore_signals, start_new_session) | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <subprocess.Popen object at 0x7fe84f21ef60>, args = ['python', 'tests/dest/runner.py'], executable = b'python', preexec_fn = None, close_fds = True, pass_fds = (), cwd = None, env = None | |
startupinfo = None, creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 3, c2pwrite = 4, errread = -1, errwrite = -1, restore_signals = True, start_new_session = False | |
def _execute_child(self, args, executable, preexec_fn, close_fds, | |
pass_fds, cwd, env, | |
startupinfo, creationflags, shell, | |
p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite, | |
restore_signals, start_new_session): | |
"""Execute program (POSIX version)""" | |
if isinstance(args, (str, bytes)): | |
args = [args] | |
else: | |
args = list(args) | |
if shell: | |
args = ["/bin/sh", "-c"] + args | |
if executable: | |
args[0] = executable | |
if executable is None: | |
executable = args[0] | |
orig_executable = executable | |
# For transferring possible exec failure from child to parent. | |
# Data format: "exception name:hex errno:description" | |
# Pickle is not used; it is complex and involves memory allocation. | |
errpipe_read, errpipe_write = os.pipe() | |
# errpipe_write must not be in the standard io 0, 1, or 2 fd range. | |
low_fds_to_close = [] | |
while errpipe_write < 3: | |
low_fds_to_close.append(errpipe_write) | |
errpipe_write = os.dup(errpipe_write) | |
for low_fd in low_fds_to_close: | |
os.close(low_fd) | |
try: | |
try: | |
# We must avoid complex work that could involve | |
# malloc or free in the child process to avoid | |
# potential deadlocks, thus we do all this here. | |
# and pass it to fork_exec() | |
if env is not None: | |
env_list = [os.fsencode(k) + b'=' + os.fsencode(v) | |
for k, v in env.items()] | |
else: | |
env_list = None # Use execv instead of execve. | |
executable = os.fsencode(executable) | |
if os.path.dirname(executable): | |
executable_list = (executable,) | |
else: | |
# This matches the behavior of os._execvpe(). | |
executable_list = tuple( | |
os.path.join(os.fsencode(dir), executable) | |
for dir in os.get_exec_path(env)) | |
fds_to_keep = set(pass_fds) | |
fds_to_keep.add(errpipe_write) | |
self.pid = _posixsubprocess.fork_exec( | |
args, executable_list, | |
close_fds, sorted(fds_to_keep), cwd, env_list, | |
p2cread, p2cwrite, c2pread, c2pwrite, | |
errread, errwrite, | |
errpipe_read, errpipe_write, | |
restore_signals, start_new_session, preexec_fn) | |
self._child_created = True | |
finally: | |
# be sure the FD is closed no matter what | |
os.close(errpipe_write) | |
# self._devnull is not always defined. | |
devnull_fd = getattr(self, '_devnull', None) | |
if p2cread != -1 and p2cwrite != -1 and p2cread != devnull_fd: | |
os.close(p2cread) | |
if c2pwrite != -1 and c2pread != -1 and c2pwrite != devnull_fd: | |
os.close(c2pwrite) | |
if errwrite != -1 and errread != -1 and errwrite != devnull_fd: | |
os.close(errwrite) | |
if devnull_fd is not None: | |
os.close(devnull_fd) | |
# Prevent a double close of these fds from __init__ on error. | |
self._closed_child_pipe_fds = True | |
# Wait for exec to fail or succeed; possibly raising an | |
# exception (limited in size) | |
errpipe_data = bytearray() | |
while True: | |
part = os.read(errpipe_read, 50000) | |
errpipe_data += part | |
if not part or len(errpipe_data) > 50000: | |
break | |
finally: | |
# be sure the FD is closed no matter what | |
os.close(errpipe_read) | |
if errpipe_data: | |
try: | |
os.waitpid(self.pid, 0) | |
except ChildProcessError: | |
pass | |
try: | |
exception_name, hex_errno, err_msg = ( | |
errpipe_data.split(b':', 2)) | |
except ValueError: | |
exception_name = b'SubprocessError' | |
hex_errno = b'0' | |
err_msg = (b'Bad exception data from child: ' + | |
repr(errpipe_data)) | |
child_exception_type = getattr( | |
builtins, exception_name.decode('ascii'), | |
SubprocessError) | |
err_msg = err_msg.decode(errors="surrogatepass") | |
if issubclass(child_exception_type, OSError) and hex_errno: | |
errno_num = int(hex_errno, 16) | |
child_exec_never_called = (err_msg == "noexec") | |
if child_exec_never_called: | |
err_msg = "" | |
if errno_num != 0: | |
err_msg = os.strerror(errno_num) | |
if errno_num == errno.ENOENT: | |
if child_exec_never_called: | |
# The error must be from chdir(cwd). | |
err_msg += ': ' + repr(cwd) | |
else: | |
err_msg += ': ' + repr(orig_executable) | |
> raise child_exception_type(errno_num, err_msg) | |
E FileNotFoundError: [Errno 2] No such file or directory: 'python' | |
../lib/python3.5/subprocess.py:1551: FileNotFoundError | |
________________________________________________________________________________________ TestCompilation.test_strict _________________________________________________________________________________________ | |
self = <tests.main_test.TestCompilation testMethod=test_strict> | |
def test_strict(self): | |
> run(["--strict"]) | |
tests/main_test.py:270: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
tests/main_test.py:174: in run | |
run_src() | |
tests/main_test.py:146: in run_src | |
call(["python", os.path.join(dest, "runner.py")], assert_output=True) | |
tests/main_test.py:60: in call | |
for raw_line in subprocess.Popen(cmd, stdout=subprocess.PIPE, **kwargs).stdout.readlines(): | |
../lib/python3.5/subprocess.py:947: in __init__ | |
restore_signals, start_new_session) | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <subprocess.Popen object at 0x7fe84f2b9fd0>, args = ['python', 'tests/dest/runner.py'], executable = b'python', preexec_fn = None, close_fds = True, pass_fds = (), cwd = None, env = None | |
startupinfo = None, creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 3, c2pwrite = 4, errread = -1, errwrite = -1, restore_signals = True, start_new_session = False | |
def _execute_child(self, args, executable, preexec_fn, close_fds, | |
pass_fds, cwd, env, | |
startupinfo, creationflags, shell, | |
p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite, | |
restore_signals, start_new_session): | |
"""Execute program (POSIX version)""" | |
if isinstance(args, (str, bytes)): | |
args = [args] | |
else: | |
args = list(args) | |
if shell: | |
args = ["/bin/sh", "-c"] + args | |
if executable: | |
args[0] = executable | |
if executable is None: | |
executable = args[0] | |
orig_executable = executable | |
# For transferring possible exec failure from child to parent. | |
# Data format: "exception name:hex errno:description" | |
# Pickle is not used; it is complex and involves memory allocation. | |
errpipe_read, errpipe_write = os.pipe() | |
# errpipe_write must not be in the standard io 0, 1, or 2 fd range. | |
low_fds_to_close = [] | |
while errpipe_write < 3: | |
low_fds_to_close.append(errpipe_write) | |
errpipe_write = os.dup(errpipe_write) | |
for low_fd in low_fds_to_close: | |
os.close(low_fd) | |
try: | |
try: | |
# We must avoid complex work that could involve | |
# malloc or free in the child process to avoid | |
# potential deadlocks, thus we do all this here. | |
# and pass it to fork_exec() | |
if env is not None: | |
env_list = [os.fsencode(k) + b'=' + os.fsencode(v) | |
for k, v in env.items()] | |
else: | |
env_list = None # Use execv instead of execve. | |
executable = os.fsencode(executable) | |
if os.path.dirname(executable): | |
executable_list = (executable,) | |
else: | |
# This matches the behavior of os._execvpe(). | |
executable_list = tuple( | |
os.path.join(os.fsencode(dir), executable) | |
for dir in os.get_exec_path(env)) | |
fds_to_keep = set(pass_fds) | |
fds_to_keep.add(errpipe_write) | |
self.pid = _posixsubprocess.fork_exec( | |
args, executable_list, | |
close_fds, sorted(fds_to_keep), cwd, env_list, | |
p2cread, p2cwrite, c2pread, c2pwrite, | |
errread, errwrite, | |
errpipe_read, errpipe_write, | |
restore_signals, start_new_session, preexec_fn) | |
self._child_created = True | |
finally: | |
# be sure the FD is closed no matter what | |
os.close(errpipe_write) | |
# self._devnull is not always defined. | |
devnull_fd = getattr(self, '_devnull', None) | |
if p2cread != -1 and p2cwrite != -1 and p2cread != devnull_fd: | |
os.close(p2cread) | |
if c2pwrite != -1 and c2pread != -1 and c2pwrite != devnull_fd: | |
os.close(c2pwrite) | |
if errwrite != -1 and errread != -1 and errwrite != devnull_fd: | |
os.close(errwrite) | |
if devnull_fd is not None: | |
os.close(devnull_fd) | |
# Prevent a double close of these fds from __init__ on error. | |
self._closed_child_pipe_fds = True | |
# Wait for exec to fail or succeed; possibly raising an | |
# exception (limited in size) | |
errpipe_data = bytearray() | |
while True: | |
part = os.read(errpipe_read, 50000) | |
errpipe_data += part | |
if not part or len(errpipe_data) > 50000: | |
break | |
finally: | |
# be sure the FD is closed no matter what | |
os.close(errpipe_read) | |
if errpipe_data: | |
try: | |
os.waitpid(self.pid, 0) | |
except ChildProcessError: | |
pass | |
try: | |
exception_name, hex_errno, err_msg = ( | |
errpipe_data.split(b':', 2)) | |
except ValueError: | |
exception_name = b'SubprocessError' | |
hex_errno = b'0' | |
err_msg = (b'Bad exception data from child: ' + | |
repr(errpipe_data)) | |
child_exception_type = getattr( | |
builtins, exception_name.decode('ascii'), | |
SubprocessError) | |
err_msg = err_msg.decode(errors="surrogatepass") | |
if issubclass(child_exception_type, OSError) and hex_errno: | |
errno_num = int(hex_errno, 16) | |
child_exec_never_called = (err_msg == "noexec") | |
if child_exec_never_called: | |
err_msg = "" | |
if errno_num != 0: | |
err_msg = os.strerror(errno_num) | |
if errno_num == errno.ENOENT: | |
if child_exec_never_called: | |
# The error must be from chdir(cwd). | |
err_msg += ': ' + repr(cwd) | |
else: | |
err_msg += ': ' + repr(orig_executable) | |
> raise child_exception_type(errno_num, err_msg) | |
E FileNotFoundError: [Errno 2] No such file or directory: 'python' | |
../lib/python3.5/subprocess.py:1551: FileNotFoundError | |
________________________________________________________________________________________ TestCompilation.test_target _________________________________________________________________________________________ | |
self = <tests.main_test.TestCompilation testMethod=test_target> | |
def test_target(self): | |
> run(agnostic_target=(2 if PY2 else 3)) | |
tests/main_test.py:252: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
tests/main_test.py:174: in run | |
run_src() | |
tests/main_test.py:146: in run_src | |
call(["python", os.path.join(dest, "runner.py")], assert_output=True) | |
tests/main_test.py:60: in call | |
for raw_line in subprocess.Popen(cmd, stdout=subprocess.PIPE, **kwargs).stdout.readlines(): | |
../lib/python3.5/subprocess.py:947: in __init__ | |
restore_signals, start_new_session) | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
self = <subprocess.Popen object at 0x7fe84f22a9b0>, args = ['python', 'tests/dest/runner.py'], executable = b'python', preexec_fn = None, close_fds = True, pass_fds = (), cwd = None, env = None | |
startupinfo = None, creationflags = 0, shell = False, p2cread = -1, p2cwrite = -1, c2pread = 3, c2pwrite = 4, errread = -1, errwrite = -1, restore_signals = True, start_new_session = False | |
def _execute_child(self, args, executable, preexec_fn, close_fds, | |
pass_fds, cwd, env, | |
startupinfo, creationflags, shell, | |
p2cread, p2cwrite, | |
c2pread, c2pwrite, | |
errread, errwrite, | |
restore_signals, start_new_session): | |
"""Execute program (POSIX version)""" | |
if isinstance(args, (str, bytes)): | |
args = [args] | |
else: | |
args = list(args) | |
if shell: | |
args = ["/bin/sh", "-c"] + args | |
if executable: | |
args[0] = executable | |
if executable is None: | |
executable = args[0] | |
orig_executable = executable | |
# For transferring possible exec failure from child to parent. | |
# Data format: "exception name:hex errno:description" | |
# Pickle is not used; it is complex and involves memory allocation. | |
errpipe_read, errpipe_write = os.pipe() | |
# errpipe_write must not be in the standard io 0, 1, or 2 fd range. | |
low_fds_to_close = [] | |
while errpipe_write < 3: | |
low_fds_to_close.append(errpipe_write) | |
errpipe_write = os.dup(errpipe_write) | |
for low_fd in low_fds_to_close: | |
os.close(low_fd) | |
try: | |
try: | |
# We must avoid complex work that could involve | |
# malloc or free in the child process to avoid | |
# potential deadlocks, thus we do all this here. | |
# and pass it to fork_exec() | |
if env is not None: | |
env_list = [os.fsencode(k) + b'=' + os.fsencode(v) | |
for k, v in env.items()] | |
else: | |
env_list = None # Use execv instead of execve. | |
executable = os.fsencode(executable) | |
if os.path.dirname(executable): | |
executable_list = (executable,) | |
else: | |
# This matches the behavior of os._execvpe(). | |
executable_list = tuple( | |
os.path.join(os.fsencode(dir), executable) | |
for dir in os.get_exec_path(env)) | |
fds_to_keep = set(pass_fds) | |
fds_to_keep.add(errpipe_write) | |
self.pid = _posixsubprocess.fork_exec( | |
args, executable_list, | |
close_fds, sorted(fds_to_keep), cwd, env_list, | |
p2cread, p2cwrite, c2pread, c2pwrite, | |
errread, errwrite, | |
errpipe_read, errpipe_write, | |
restore_signals, start_new_session, preexec_fn) | |
self._child_created = True | |
finally: | |
# be sure the FD is closed no matter what | |
os.close(errpipe_write) | |
# self._devnull is not always defined. | |
devnull_fd = getattr(self, '_devnull', None) | |
if p2cread != -1 and p2cwrite != -1 and p2cread != devnull_fd: | |
os.close(p2cread) | |
if c2pwrite != -1 and c2pread != -1 and c2pwrite != devnull_fd: | |
os.close(c2pwrite) | |
if errwrite != -1 and errread != -1 and errwrite != devnull_fd: | |
os.close(errwrite) | |
if devnull_fd is not None: | |
os.close(devnull_fd) | |
# Prevent a double close of these fds from __init__ on error. | |
self._closed_child_pipe_fds = True | |
# Wait for exec to fail or succeed; possibly raising an | |
# exception (limited in size) | |
errpipe_data = bytearray() | |
while True: | |
part = os.read(errpipe_read, 50000) | |
errpipe_data += part | |
if not part or len(errpipe_data) > 50000: | |
break | |
finally: | |
# be sure the FD is closed no matter what | |
os.close(errpipe_read) | |
if errpipe_data: | |
try: | |
os.waitpid(self.pid, 0) | |
except ChildProcessError: | |
pass | |
try: | |
exception_name, hex_errno, err_msg = ( | |
errpipe_data.split(b':', 2)) | |
except ValueError: | |
exception_name = b'SubprocessError' | |
hex_errno = b'0' | |
err_msg = (b'Bad exception data from child: ' + | |
repr(errpipe_data)) | |
child_exception_type = getattr( | |
builtins, exception_name.decode('ascii'), | |
SubprocessError) | |
err_msg = err_msg.decode(errors="surrogatepass") | |
if issubclass(child_exception_type, OSError) and hex_errno: | |
errno_num = int(hex_errno, 16) | |
child_exec_never_called = (err_msg == "noexec") | |
if child_exec_never_called: | |
err_msg = "" | |
if errno_num != 0: | |
err_msg = os.strerror(errno_num) | |
if errno_num == errno.ENOENT: | |
if child_exec_never_called: | |
# The error must be from chdir(cwd). | |
err_msg += ': ' + repr(cwd) | |
else: | |
err_msg += ': ' + repr(orig_executable) | |
> raise child_exception_type(errno_num, err_msg) | |
E FileNotFoundError: [Errno 2] No such file or directory: 'python' | |
../lib/python3.5/subprocess.py:1551: FileNotFoundError | |
=================================================================================== 11 failed, 6 passed in 314.24 seconds ==================================================================================== | |
bash-4.3# ln -sf /usr/bin/python3 /usr/bin/python | |
bash-4.3# pytest --strict -s tests | |
============================================================================================ test session starts ============================================================================================= | |
platform linux -- Python 3.5.2, pytest-3.0.2, py-1.4.31, pluggy-0.3.1 | |
rootdir: /usr/coconut, inifile: | |
collected 17 items | |
tests/main_test.py | |
> coconut -s --code msg = '<success>'; pmsg = print$(msg); `pmsg` | |
<success> | |
. | |
> python -c from coconut.convenience import parse; exec(parse("msg = '<success>'; pmsg = print$(msg); `pmsg`")) | |
<success> | |
. | |
> ipython --ext coconut -c %coconut msg = '<success>'; pmsg = print$(msg); `pmsg` | |
<success> | |
. | |
> coconut --jupyter | |
4.2.0 | |
[InstallKernelSpec] Removing existing kernelspec in /usr/local/share/jupyter/kernels/coconut | |
[InstallKernelSpec] Installed kernelspec coconut in /usr/local/share/jupyter/kernels/coconut | |
[InstallKernelSpec] Removing existing kernelspec in /usr/local/share/jupyter/kernels/coconut2 | |
[InstallKernelSpec] Installed kernelspec coconut2 in /usr/local/share/jupyter/kernels/coconut2 | |
[InstallKernelSpec] Removing existing kernelspec in /usr/local/share/jupyter/kernels/coconut3 | |
[InstallKernelSpec] Installed kernelspec coconut3 in /usr/local/share/jupyter/kernels/coconut3 | |
. | |
> echo "msg = '<success>'; pmsg = print\$(msg); \`pmsg\`" | coconut -s | |
<success> | |
. | |
> coconut tests/src/cocotest/python3 tests/dest/cocotest --target 3 --jobs 0 | |
Coconut: Compiling tests/src/cocotest/python3/py3_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py3_test.py . | |
> coconut tests/src/cocotest/python35 tests/dest/cocotest --target 35 --jobs 0 | |
Coconut: Compiling tests/src/cocotest/python35/py35_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py35_test.py . | |
> coconut tests/src/cocotest/agnostic tests/dest/cocotest --jobs 0 | |
Coconut: Compiling tests/src/cocotest/agnostic/__init__.coco ... | |
Coconut: Compiled to tests/dest/cocotest/__init__.py . | |
Coconut: Compiling tests/src/cocotest/agnostic/util.coco ... | |
Coconut: Compiled to tests/dest/cocotest/util.py . | |
Coconut: Compiling tests/src/cocotest/agnostic/main.coco ... | |
Coconut: Compiled to tests/dest/cocotest/main.py . | |
Coconut: Compiling tests/src/cocotest/agnostic/suite.coc ... | |
Coconut: Compiled to tests/dest/cocotest/suite.py . | |
Coconut: Compiling tests/src/cocotest/agnostic/specific.coco ... | |
Coconut: Compiled to tests/dest/cocotest/specific.py . | |
Coconut: Compiling tests/src/cocotest/agnostic/tutorial.coco ... | |
Coconut: Compiled to tests/dest/cocotest/tutorial.py . | |
> coconut tests/src/runner.coco tests/dest --jobs 0 | |
Coconut: Compiling tests/src/runner.coco ... | |
Coconut: Compiled to tests/dest/runner.py . | |
> python tests/dest/runner.py | |
<success> | |
> coconut tests/src/extras.coco tests/dest --jobs 0 | |
Coconut: Compiling tests/src/extras.coco ... | |
Coconut: Compiled to tests/dest/extras.py . | |
> python tests/dest/extras.py | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: found mixing of tabs and spaces (line 1) | |
pass | |
CoconutException: a source file/folder must be specified when options that depend on the source are enabled | |
CoconutException: cannot compile as both --package and --standalone | |
CoconutException: destination path cannot be given when --nowrite is enabled | |
<success> | |
. | |
> coconut tests/src/cocotest/python3 tests/dest/cocotest --target 3 --keeplines --jobs sys | |
Coconut: Compiling tests/src/cocotest/python3/py3_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py3_test.py . | |
> coconut tests/src/cocotest/python35 tests/dest/cocotest --target 35 --keeplines --jobs sys | |
Coconut: Compiling tests/src/cocotest/python35/py35_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py35_test.py . | |
> coconut tests/src/cocotest/agnostic tests/dest/cocotest --keeplines --jobs sys | |
Coconut: Compiling tests/src/cocotest/agnostic/__init__.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/util.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/main.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/suite.coc ... | |
Coconut: Compiling tests/src/cocotest/agnostic/specific.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/tutorial.coco ... | |
Coconut: Compiled to tests/dest/cocotest/__init__.py . | |
Coconut: Compiled to tests/dest/cocotest/specific.py . | |
Coconut: Compiled to tests/dest/cocotest/suite.py . | |
Coconut: Compiled to tests/dest/cocotest/main.py . | |
Coconut: Compiled to tests/dest/cocotest/tutorial.py . | |
Coconut: Compiled to tests/dest/cocotest/util.py . | |
> coconut tests/src/runner.coco tests/dest --keeplines --jobs sys | |
Coconut: Compiling tests/src/runner.coco ... | |
Coconut: Compiled to tests/dest/runner.py . | |
> python tests/dest/runner.py | |
<success> | |
> coconut tests/src/extras.coco tests/dest --keeplines --jobs sys | |
Coconut: Compiling tests/src/extras.coco ... | |
Coconut: Compiled to tests/dest/extras.py . | |
> python tests/dest/extras.py | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: found mixing of tabs and spaces (line 1) | |
pass | |
CoconutException: a source file/folder must be specified when options that depend on the source are enabled | |
CoconutException: cannot compile as both --package and --standalone | |
CoconutException: destination path cannot be given when --nowrite is enabled | |
<success> | |
. | |
> coconut tests/src/cocotest/python3 tests/dest/cocotest --target 3 --linenumbers --jobs sys | |
Coconut: Compiling tests/src/cocotest/python3/py3_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py3_test.py . | |
> coconut tests/src/cocotest/python35 tests/dest/cocotest --target 35 --linenumbers --jobs sys | |
Coconut: Compiling tests/src/cocotest/python35/py35_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py35_test.py . | |
> coconut tests/src/cocotest/agnostic tests/dest/cocotest --linenumbers --jobs sys | |
Coconut: Compiling tests/src/cocotest/agnostic/__init__.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/util.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/main.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/suite.coc ... | |
Coconut: Compiling tests/src/cocotest/agnostic/specific.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/tutorial.coco ... | |
Coconut: Compiled to tests/dest/cocotest/__init__.py . | |
Coconut: Compiled to tests/dest/cocotest/specific.py . | |
Coconut: Compiled to tests/dest/cocotest/suite.py . | |
Coconut: Compiled to tests/dest/cocotest/main.py . | |
Coconut: Compiled to tests/dest/cocotest/tutorial.py . | |
Coconut: Compiled to tests/dest/cocotest/util.py . | |
> coconut tests/src/runner.coco tests/dest --linenumbers --jobs sys | |
Coconut: Compiling tests/src/runner.coco ... | |
Coconut: Compiled to tests/dest/runner.py . | |
> python tests/dest/runner.py | |
<success> | |
> coconut tests/src/extras.coco tests/dest --linenumbers --jobs sys | |
Coconut: Compiling tests/src/extras.coco ... | |
Coconut: Compiled to tests/dest/extras.py . | |
> python tests/dest/extras.py | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: found mixing of tabs and spaces (line 1) | |
pass | |
CoconutException: a source file/folder must be specified when options that depend on the source are enabled | |
CoconutException: cannot compile as both --package and --standalone | |
CoconutException: destination path cannot be given when --nowrite is enabled | |
<success> | |
. | |
> coconut tests/src/cocotest/python3 tests/dest/cocotest --target 3 --minify --jobs sys | |
Coconut: Compiling tests/src/cocotest/python3/py3_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py3_test.py . | |
> coconut tests/src/cocotest/python35 tests/dest/cocotest --target 35 --minify --jobs sys | |
Coconut: Compiling tests/src/cocotest/python35/py35_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py35_test.py . | |
> coconut tests/src/cocotest/agnostic tests/dest/cocotest --minify --jobs sys | |
Coconut: Compiling tests/src/cocotest/agnostic/__init__.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/util.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/main.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/suite.coc ... | |
Coconut: Compiling tests/src/cocotest/agnostic/specific.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/tutorial.coco ... | |
Coconut: Compiled to tests/dest/cocotest/__init__.py . | |
Coconut: Compiled to tests/dest/cocotest/specific.py . | |
Coconut: Compiled to tests/dest/cocotest/suite.py . | |
Coconut: Compiled to tests/dest/cocotest/tutorial.py . | |
Coconut: Compiled to tests/dest/cocotest/main.py . | |
Coconut: Compiled to tests/dest/cocotest/util.py . | |
> coconut tests/src/runner.coco tests/dest --minify --jobs sys | |
Coconut: Compiling tests/src/runner.coco ... | |
Coconut: Compiled to tests/dest/runner.py . | |
> python tests/dest/runner.py | |
<success> | |
> coconut tests/src/extras.coco tests/dest --minify --jobs sys | |
Coconut: Compiling tests/src/extras.coco ... | |
Coconut: Compiled to tests/dest/extras.py . | |
> python tests/dest/extras.py | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: found mixing of tabs and spaces (line 1) | |
pass | |
CoconutException: a source file/folder must be specified when options that depend on the source are enabled | |
CoconutException: cannot compile as both --package and --standalone | |
CoconutException: destination path cannot be given when --nowrite is enabled | |
<success> | |
. | |
> coconut tests/src/cocotest/python3 tests/dest/cocotest --target 3 --jobs sys | |
Coconut: Compiling tests/src/cocotest/python3/py3_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py3_test.py . | |
> coconut tests/src/cocotest/python35 tests/dest/cocotest --target 35 --jobs sys | |
Coconut: Compiling tests/src/cocotest/python35/py35_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py35_test.py . | |
> coconut tests/src/cocotest/agnostic tests/dest/cocotest --jobs sys | |
Coconut: Compiling tests/src/cocotest/agnostic/__init__.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/util.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/main.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/suite.coc ... | |
Coconut: Compiling tests/src/cocotest/agnostic/specific.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/tutorial.coco ... | |
Coconut: Compiled to tests/dest/cocotest/__init__.py . | |
Coconut: Compiled to tests/dest/cocotest/specific.py . | |
Coconut: Compiled to tests/dest/cocotest/suite.py . | |
Coconut: Compiled to tests/dest/cocotest/main.py . | |
Coconut: Compiled to tests/dest/cocotest/tutorial.py . | |
Coconut: Compiled to tests/dest/cocotest/util.py . | |
> coconut tests/src/runner.coco tests/dest --jobs sys | |
Coconut: Compiling tests/src/runner.coco ... | |
Coconut: Compiled to tests/dest/runner.py . | |
> python tests/dest/runner.py | |
<success> | |
> coconut tests/src/extras.coco tests/dest --jobs sys | |
Coconut: Compiling tests/src/extras.coco ... | |
Coconut: Compiled to tests/dest/extras.py . | |
> python tests/dest/extras.py | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: found mixing of tabs and spaces (line 1) | |
pass | |
CoconutException: a source file/folder must be specified when options that depend on the source are enabled | |
CoconutException: cannot compile as both --package and --standalone | |
CoconutException: destination path cannot be given when --nowrite is enabled | |
<success> | |
. | |
> coconut tests/src/cocotest/python3 tests/dest/cocotest --target 3 --package --jobs sys | |
Coconut: Compiling tests/src/cocotest/python3/py3_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py3_test.py . | |
> coconut tests/src/cocotest/python35 tests/dest/cocotest --target 35 --package --jobs sys | |
Coconut: Compiling tests/src/cocotest/python35/py35_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py35_test.py . | |
> coconut tests/src/cocotest/agnostic tests/dest/cocotest --package --jobs sys | |
Coconut: Compiling tests/src/cocotest/agnostic/__init__.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/util.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/main.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/suite.coc ... | |
Coconut: Compiling tests/src/cocotest/agnostic/specific.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/tutorial.coco ... | |
Coconut: Compiled to tests/dest/cocotest/__init__.py . | |
Coconut: Compiled to tests/dest/cocotest/specific.py . | |
Coconut: Compiled to tests/dest/cocotest/suite.py . | |
Coconut: Compiled to tests/dest/cocotest/main.py . | |
Coconut: Compiled to tests/dest/cocotest/tutorial.py . | |
Coconut: Compiled to tests/dest/cocotest/util.py . | |
> coconut tests/src/runner.coco tests/dest --package --jobs sys | |
Coconut: Compiling tests/src/runner.coco ... | |
Coconut: Compiled to tests/dest/runner.py . | |
> python tests/dest/runner.py | |
<success> | |
> coconut tests/src/extras.coco tests/dest --package --jobs sys | |
Coconut: Compiling tests/src/extras.coco ... | |
Coconut: Compiled to tests/dest/extras.py . | |
> python tests/dest/extras.py | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: found mixing of tabs and spaces (line 1) | |
pass | |
CoconutException: a source file/folder must be specified when options that depend on the source are enabled | |
CoconutException: cannot compile as both --package and --standalone | |
CoconutException: destination path cannot be given when --nowrite is enabled | |
<success> | |
. | |
> coconut tests/src/cocotest/python3 tests/dest/cocotest --target 3 --jobs sys | |
Coconut: Compiling tests/src/cocotest/python3/py3_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py3_test.py . | |
> coconut tests/src/cocotest/python35 tests/dest/cocotest --target 35 --jobs sys | |
Coconut: Compiling tests/src/cocotest/python35/py35_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py35_test.py . | |
> coconut tests/src/cocotest/agnostic tests/dest/cocotest --jobs sys | |
Coconut: Compiling tests/src/cocotest/agnostic/__init__.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/util.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/main.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/suite.coc ... | |
Coconut: Compiling tests/src/cocotest/agnostic/specific.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/tutorial.coco ... | |
Coconut: Compiled to tests/dest/cocotest/__init__.py . | |
Coconut: Compiled to tests/dest/cocotest/specific.py . | |
Coconut: Compiled to tests/dest/cocotest/suite.py . | |
Coconut: Compiled to tests/dest/cocotest/main.py . | |
Coconut: Compiled to tests/dest/cocotest/tutorial.py . | |
Coconut: Compiled to tests/dest/cocotest/util.py . | |
> coconut tests/src/runner.coco tests/dest --run --jobs sys | |
Coconut: Compiling tests/src/runner.coco ... | |
Coconut: Compiled to tests/dest/runner.py . | |
<success> | |
> coconut tests/src/extras.coco tests/dest --run --jobs sys | |
Coconut: Compiling tests/src/extras.coco ... | |
Coconut: Compiled to tests/dest/extras.py . | |
F | |
> coconut tests/src/cocotest/python3 tests/dest/cocotest --target 3 --standalone --jobs sys | |
Coconut: Compiling tests/src/cocotest/python3/py3_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py3_test.py . | |
> coconut tests/src/cocotest/python35 tests/dest/cocotest --target 35 --standalone --jobs sys | |
Coconut: Compiling tests/src/cocotest/python35/py35_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py35_test.py . | |
> coconut tests/src/cocotest/agnostic tests/dest/cocotest --standalone --jobs sys | |
Coconut: Compiling tests/src/cocotest/agnostic/__init__.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/util.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/main.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/suite.coc ... | |
Coconut: Compiling tests/src/cocotest/agnostic/specific.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/tutorial.coco ... | |
Coconut: Compiled to tests/dest/cocotest/__init__.py . | |
Coconut: Compiled to tests/dest/cocotest/specific.py . | |
Coconut: Compiled to tests/dest/cocotest/suite.py . | |
Coconut: Compiled to tests/dest/cocotest/main.py . | |
Coconut: Compiled to tests/dest/cocotest/tutorial.py . | |
Coconut: Compiled to tests/dest/cocotest/util.py . | |
> coconut tests/src/runner.coco tests/dest --standalone --jobs sys | |
Coconut: Compiling tests/src/runner.coco ... | |
Coconut: Compiled to tests/dest/runner.py . | |
> python tests/dest/runner.py | |
<success> | |
> coconut tests/src/extras.coco tests/dest --standalone --jobs sys | |
Coconut: Compiling tests/src/extras.coco ... | |
Coconut: Compiled to tests/dest/extras.py . | |
> python tests/dest/extras.py | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: found mixing of tabs and spaces (line 1) | |
pass | |
CoconutException: a source file/folder must be specified when options that depend on the source are enabled | |
CoconutException: cannot compile as both --package and --standalone | |
CoconutException: destination path cannot be given when --nowrite is enabled | |
<success> | |
. | |
> coconut tests/src/cocotest/python3 tests/dest/cocotest --target 3 --strict --jobs sys | |
Coconut: Compiling tests/src/cocotest/python3/py3_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py3_test.py . | |
> coconut tests/src/cocotest/python35 tests/dest/cocotest --target 35 --strict --jobs sys | |
Coconut: Compiling tests/src/cocotest/python35/py35_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py35_test.py . | |
> coconut tests/src/cocotest/agnostic tests/dest/cocotest --strict --jobs sys | |
Coconut: Compiling tests/src/cocotest/agnostic/__init__.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/util.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/main.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/suite.coc ... | |
Coconut: Compiling tests/src/cocotest/agnostic/specific.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/tutorial.coco ... | |
Coconut: Compiled to tests/dest/cocotest/__init__.py . | |
Coconut: Compiled to tests/dest/cocotest/specific.py . | |
Coconut: Compiled to tests/dest/cocotest/suite.py . | |
Coconut: Compiled to tests/dest/cocotest/main.py . | |
Coconut: Compiled to tests/dest/cocotest/tutorial.py . | |
Coconut: Compiled to tests/dest/cocotest/util.py . | |
> coconut tests/src/runner.coco tests/dest --strict --jobs sys | |
Coconut: Compiling tests/src/runner.coco ... | |
Coconut: Compiled to tests/dest/runner.py . | |
> python tests/dest/runner.py | |
<success> | |
> coconut tests/src/extras.coco tests/dest --strict --jobs sys | |
Coconut: Compiling tests/src/extras.coco ... | |
Coconut: Compiled to tests/dest/extras.py . | |
> python tests/dest/extras.py | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: found mixing of tabs and spaces (line 1) | |
pass | |
CoconutException: a source file/folder must be specified when options that depend on the source are enabled | |
CoconutException: cannot compile as both --package and --standalone | |
CoconutException: destination path cannot be given when --nowrite is enabled | |
<success> | |
. | |
> coconut tests/src/cocotest/python3 tests/dest/cocotest --target 3 --jobs sys | |
Coconut: Compiling tests/src/cocotest/python3/py3_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py3_test.py . | |
> coconut tests/src/cocotest/python35 tests/dest/cocotest --target 35 --jobs sys | |
Coconut: Compiling tests/src/cocotest/python35/py35_test.coco ... | |
Coconut: Compiled to tests/dest/cocotest/py35_test.py . | |
> coconut tests/src/cocotest/agnostic tests/dest/cocotest --target 3 --jobs sys | |
Coconut: Compiling tests/src/cocotest/agnostic/__init__.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/util.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/main.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/suite.coc ... | |
Coconut: Compiling tests/src/cocotest/agnostic/specific.coco ... | |
Coconut: Compiling tests/src/cocotest/agnostic/tutorial.coco ... | |
Coconut: Compiled to tests/dest/cocotest/__init__.py . | |
Coconut: Compiled to tests/dest/cocotest/specific.py . | |
Coconut: Compiled to tests/dest/cocotest/suite.py . | |
Coconut: Compiled to tests/dest/cocotest/main.py . | |
Coconut: Compiled to tests/dest/cocotest/tutorial.py . | |
Coconut: Compiled to tests/dest/cocotest/util.py . | |
> coconut tests/src/runner.coco tests/dest --target 3 --jobs sys | |
Coconut: Compiling tests/src/runner.coco ... | |
Coconut: Compiled to tests/dest/runner.py . | |
> python tests/dest/runner.py | |
<success> | |
> coconut tests/src/extras.coco tests/dest --target 3 --jobs sys | |
Coconut: Compiling tests/src/extras.coco ... | |
Coconut: Compiled to tests/dest/extras.py . | |
> python tests/dest/extras.py | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: missing new line at end of file (line 1) | |
abc | |
^ | |
CoconutWarning: found mixing of tabs and spaces (line 1) | |
pass | |
CoconutException: a source file/folder must be specified when options that depend on the source are enabled | |
CoconutException: cannot compile as both --package and --standalone | |
CoconutException: destination path cannot be given when --nowrite is enabled | |
<success> | |
. | |
> git clone https://github.com/evhub/prisoner.git | |
Cloning into 'prisoner'... | |
remote: Counting objects: 699, done. | |
remote: Compressing objects: 100% (4/4), done. | |
remote: Total 699 (delta 0), reused 0 (delta 0), pack-reused 695 | |
Receiving objects: 100% (699/699), 90.74 KiB | 0 bytes/s, done. | |
Resolving deltas: 100% (465/465), done. | |
Checking connectivity... done. | |
> coconut prisoner --strict --jobs sys | |
Coconut: Compiling prisoner/prisoner/dilemma.coc ... | |
Coconut: Compiling prisoner/prisoner/__init__.coc ... | |
Coconut: Compiling prisoner/prisoner/__main__.coc ... | |
Coconut: Compiling prisoner/prisoner/bots.coc ... | |
Coconut: Compiled to prisoner/prisoner/__init__.py . | |
Coconut: Compiled to prisoner/prisoner/__main__.py . | |
Coconut: Compiled to prisoner/prisoner/bots.py . | |
Coconut: Compiled to prisoner/prisoner/dilemma.py . | |
. | |
> git clone https://github.com/evhub/pyston.git | |
Cloning into 'pyston'... | |
remote: Counting objects: 35286, done. | |
remote: Total 35286 (delta 0), reused 0 (delta 0), pack-reused 35285 | |
Receiving objects: 100% (35286/35286), 31.80 MiB | 7.58 MiB/s, done. | |
Resolving deltas: 100% (25967/25967), done. | |
Checking connectivity... done. | |
> coconut pyston --jobs sys | |
Coconut: Compiling pyston/runner.coc ... | |
Coconut: Compiling pyston/minibenchmarks/nbody_med.coc ... | |
Coconut: Compiling pyston/minibenchmarks/sqlalchemy_declarative.coc ... | |
Coconut: Compiling pyston/minibenchmarks/richards.coc ... | |
Coconut: Compiling pyston/minibenchmarks/go.coc ... | |
Coconut: Compiling pyston/minibenchmarks/pyxl_bench.coc ... | |
Coconut: Compiling pyston/minibenchmarks/pyaes.coc ... | |
Coconut: Compiling pyston/minibenchmarks/interp2.coc ... | |
Coconut: Compiling pyston/minibenchmarks/pidigits.coc ... | |
Coconut: Compiling pyston/minibenchmarks/interp.coc ... | |
Coconut: Compiling pyston/minibenchmarks/sqlalchemy_imperative.coc ... | |
Coconut: Compiling pyston/minibenchmarks/__init__.coc ... | |
Coconut: Compiling pyston/minibenchmarks/combined.coc ... | |
Coconut: Compiling pyston/minibenchmarks/bm_ai.coc ... | |
Coconut: Compiling pyston/minibenchmarks/chaos.coc ... | |
Coconut: Compiling pyston/minibenchmarks/fannkuch_med.coc ... | |
Coconut: Compiling pyston/minibenchmarks/fannkuch.coc ... | |
Coconut: Compiling pyston/minibenchmarks/schulze.coc ... | |
Coconut: Compiling pyston/minibenchmarks/raytrace.coc ... | |
Coconut: Compiling pyston/minibenchmarks/nbody.coc ... | |
Coconut: Compiling pyston/minibenchmarks/spectral_norm.coc ... | |
Coconut: Compiling pyston/minibenchmarks/allgroup.coc ... | |
Coconut: Compiling pyston/minibenchmarks/fasta.coc ... | |
Coconut: Compiling pyston/minibenchmarks/iobench.coc ... | |
Coconut: Compiling pyston/minibenchmarks/django_template.coc ... | |
Coconut: Compiling pyston/minibenchmarks/nq.coc ... | |
Coconut: Compiling pyston/minibenchmarks/deltablue.coc ... | |
Coconut: Compiling pyston/microbenchmarks/sre_compile_bench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/unicode_ctor_bench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/sre_optimize_unicode.coc ... | |
Coconut: Compiling pyston/microbenchmarks/getattrfunc_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/gcj_2014_2_b.coc ... | |
Coconut: Compiling pyston/microbenchmarks/sre_parse_parse.coc ... | |
Coconut: Compiling pyston/microbenchmarks/empty_loop.coc ... | |
Coconut: Compiling pyston/microbenchmarks/django_lexing.coc ... | |
Coconut: Compiling pyston/microbenchmarks/django_variable.coc ... | |
Coconut: Compiling pyston/microbenchmarks/bm_django.coc ... | |
Coconut: Compiling pyston/microbenchmarks/megamorphic_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/exceptions_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/thread_contention.coc ... | |
Coconut: Compiling pyston/microbenchmarks/str_find_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/itertools_chain_bench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/megamorphic_control_flow.coc ... | |
Coconut: Compiling pyston/microbenchmarks/simple_sum.coc ... | |
Coconut: Compiling pyston/microbenchmarks/control_flow_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/django_parsing.coc ... | |
Coconut: Compiling pyston/microbenchmarks/vecf_add.coc ... | |
Coconut: Compiling pyston/microbenchmarks/exceptions_2_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/__init__.coc ... | |
Coconut: Compiling pyston/microbenchmarks/set_sub_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/unicode_split_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/prime_summing.coc ... | |
Coconut: Compiling pyston/microbenchmarks/oldstyle_iteration.coc ... | |
Coconut: Compiling pyston/microbenchmarks/str_comparison_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/namedtuple_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/loop.coc ... | |
Coconut: Compiling pyston/microbenchmarks/repatching.coc ... | |
Coconut: Compiling pyston/microbenchmarks/function_calls.coc ... | |
Coconut: Compiling pyston/microbenchmarks/attrs.coc ... | |
Coconut: Compiling pyston/microbenchmarks/nq2.coc ... | |
Coconut: Compiling pyston/microbenchmarks/contains_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/fib2.coc ... | |
Coconut: Compiling pyston/microbenchmarks/gcj_2014_3_b.coc ... | |
Coconut: Compiling pyston/microbenchmarks/attribute_lookup.coc ... | |
Coconut: Compiling pyston/microbenchmarks/vecf_dot.coc ... | |
Coconut: Compiling pyston/microbenchmarks/django_template3_reduced.coc ... | |
Coconut: Compiling pyston/microbenchmarks/polymorphism.coc ... | |
Coconut: Compiling pyston/microbenchmarks/django_tiny.coc ... | |
Coconut: Compiling pyston/microbenchmarks/dict_hashing_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/oldstyle_class_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/lcg.coc ... | |
Coconut: Compiling pyston/microbenchmarks/tester.coc ... | |
Coconut: Compiling pyston/microbenchmarks/dict_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/fib.coc ... | |
Coconut: Compiling pyston/microbenchmarks/iteration.coc ... | |
Coconut: Compiling pyston/microbenchmarks/re_split_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/dict_globals_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/string_key_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/nested.coc ... | |
Coconut: Compiling pyston/microbenchmarks/sort.coc ... | |
Coconut: Compiling pyston/microbenchmarks/tuple_ubench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/sre_parse_bench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/closures.coc ... | |
Coconut: Compiling pyston/microbenchmarks/re_finditer_bench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/pydigits.coc ... | |
Coconut: Compiling pyston/microbenchmarks/sre_compile_bench2.coc ... | |
Coconut: Compiling pyston/microbenchmarks/generator_switching.coc ... | |
Coconut: Compiling pyston/microbenchmarks/listcomp_bench.coc ... | |
Coconut: Compiling pyston/microbenchmarks/unwinding.coc ... | |
Coconut: Compiling pyston/microbenchmarks/re_perf.coc ... | |
Coconut: Compiling pyston/microbenchmarks/thread_uncontended.coc ... | |
Coconut: Compiled to pyston/runner.py . | |
Coconut: Compiled to pyston/minibenchmarks/sqlalchemy_declarative.py . | |
Coconut: Compiled to pyston/minibenchmarks/pyxl_bench.py . | |
Coconut: Compiled to pyston/minibenchmarks/nbody_med.py . | |
Coconut: Compiled to pyston/minibenchmarks/interp2.py . | |
Coconut: Compiled to pyston/minibenchmarks/richards.py . | |
Coconut: Compiled to pyston/minibenchmarks/pidigits.py . | |
Coconut: Compiled to pyston/minibenchmarks/sqlalchemy_imperative.py . | |
in pyston/minibenchmarks/__init__.coc: | |
CoconutWarning: missing new line at end of file (line 1) | |
Coconut: Compiled to pyston/minibenchmarks/__init__.py . | |
Coconut: Compiled to pyston/minibenchmarks/combined.py . | |
Coconut: Compiled to pyston/minibenchmarks/interp.py . | |
Coconut: Compiled to pyston/minibenchmarks/bm_ai.py . | |
Coconut: Compiled to pyston/minibenchmarks/go.py . | |
Coconut: Compiled to pyston/minibenchmarks/pyaes.py . | |
Coconut: Compiled to pyston/minibenchmarks/fannkuch_med.py . | |
Coconut: Compiled to pyston/minibenchmarks/fannkuch.py . | |
Coconut: Compiled to pyston/minibenchmarks/schulze.py . | |
Coconut: Compiled to pyston/minibenchmarks/spectral_norm.py . | |
Coconut: Compiled to pyston/minibenchmarks/allgroup.py . | |
Coconut: Compiled to pyston/minibenchmarks/nbody.py . | |
Coconut: Compiled to pyston/minibenchmarks/fasta.py . | |
Coconut: Compiled to pyston/minibenchmarks/django_template.py . | |
Coconut: Compiled to pyston/minibenchmarks/chaos.py . | |
Coconut: Compiled to pyston/minibenchmarks/nq.py . | |
Coconut: Compiled to pyston/microbenchmarks/sre_compile_bench.py . | |
Coconut: Compiled to pyston/microbenchmarks/unicode_ctor_bench.py . | |
Coconut: Compiled to pyston/minibenchmarks/raytrace.py . | |
Coconut: Compiled to pyston/microbenchmarks/sre_optimize_unicode.py . | |
Coconut: Compiled to pyston/microbenchmarks/getattrfunc_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/sre_parse_parse.py . | |
Coconut: Compiled to pyston/microbenchmarks/gcj_2014_2_b.py . | |
Coconut: Compiled to pyston/microbenchmarks/empty_loop.py . | |
Coconut: Compiled to pyston/microbenchmarks/django_lexing.py . | |
Coconut: Compiled to pyston/microbenchmarks/django_variable.py . | |
Coconut: Compiled to pyston/microbenchmarks/megamorphic_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/exceptions_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/bm_django.py . | |
Coconut: Compiled to pyston/microbenchmarks/str_find_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/itertools_chain_bench.py . | |
Coconut: Compiled to pyston/microbenchmarks/thread_contention.py . | |
Coconut: Compiled to pyston/microbenchmarks/simple_sum.py . | |
Coconut: Compiled to pyston/microbenchmarks/megamorphic_control_flow.py . | |
Coconut: Compiled to pyston/microbenchmarks/control_flow_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/vecf_add.py . | |
Coconut: Compiled to pyston/microbenchmarks/django_parsing.py . | |
in pyston/microbenchmarks/__init__.coc: | |
CoconutWarning: missing new line at end of file (line 1) | |
Coconut: Compiled to pyston/microbenchmarks/__init__.py . | |
Coconut: Compiled to pyston/microbenchmarks/exceptions_2_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/unicode_split_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/set_sub_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/prime_summing.py . | |
Coconut: Compiled to pyston/microbenchmarks/oldstyle_iteration.py . | |
Coconut: Compiled to pyston/microbenchmarks/str_comparison_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/loop.py . | |
Coconut: Compiled to pyston/microbenchmarks/namedtuple_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/repatching.py . | |
Coconut: Compiled to pyston/microbenchmarks/attrs.py . | |
Coconut: Compiled to pyston/minibenchmarks/iobench.py . | |
Coconut: Compiled to pyston/microbenchmarks/contains_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/function_calls.py . | |
Coconut: Compiled to pyston/microbenchmarks/fib2.py . | |
Coconut: Compiled to pyston/microbenchmarks/attribute_lookup.py . | |
Coconut: Compiled to pyston/microbenchmarks/vecf_dot.py . | |
Coconut: Compiled to pyston/minibenchmarks/deltablue.py . | |
Coconut: Compiled to pyston/microbenchmarks/gcj_2014_3_b.py . | |
Coconut: Compiled to pyston/microbenchmarks/polymorphism.py . | |
Coconut: Compiled to pyston/microbenchmarks/nq2.py . | |
Coconut: Compiled to pyston/microbenchmarks/dict_hashing_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/django_template3_reduced.py . | |
Coconut: Compiled to pyston/microbenchmarks/django_tiny.py . | |
Coconut: Compiled to pyston/microbenchmarks/lcg.py . | |
Coconut: Compiled to pyston/microbenchmarks/dict_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/fib.py . | |
Coconut: Compiled to pyston/microbenchmarks/iteration.py . | |
Coconut: Compiled to pyston/microbenchmarks/oldstyle_class_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/dict_globals_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/re_split_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/string_key_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/nested.py . | |
Coconut: Compiled to pyston/microbenchmarks/tester.py . | |
Coconut: Compiled to pyston/microbenchmarks/tuple_ubench.py . | |
Coconut: Compiled to pyston/microbenchmarks/sre_parse_bench.py . | |
Coconut: Compiled to pyston/microbenchmarks/closures.py . | |
Coconut: Compiled to pyston/microbenchmarks/re_finditer_bench.py . | |
Coconut: Compiled to pyston/microbenchmarks/sort.py . | |
Coconut: Compiled to pyston/microbenchmarks/generator_switching.py . | |
Coconut: Compiled to pyston/microbenchmarks/unwinding.py . | |
Coconut: Compiled to pyston/microbenchmarks/listcomp_bench.py . | |
Coconut: Compiled to pyston/microbenchmarks/pydigits.py . | |
Coconut: Compiled to pyston/microbenchmarks/re_perf.py . | |
Coconut: Compiled to pyston/microbenchmarks/thread_uncontended.py . | |
Coconut: Compiled to pyston/microbenchmarks/sre_compile_bench2.py . | |
. | |
================================================================================================== FAILURES ================================================================================================== | |
__________________________________________________________________________________________ TestCompilation.test_run __________________________________________________________________________________________ | |
self = <tests.main_test.TestCompilation testMethod=test_run> | |
def test_run(self): | |
> run(comp_run=True) | |
tests/main_test.py:249: | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
tests/main_test.py:178: in run | |
comp_extras(agnostic_args + ["--run"]) | |
tests/main_test.py:116: in comp_extras | |
comp(file="extras.coco", args=args) | |
tests/main_test.py:86: in comp | |
call_coconut([source, compdest] + args) | |
tests/main_test.py:72: in call_coconut | |
call(["coconut"] + args) | |
tests/main_test.py:65: in call | |
subprocess.check_call(cmd, **kwargs) | |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ | |
popenargs = (['coconut', 'tests/src/extras.coco', 'tests/dest', '--run', '--jobs', 'sys'],), kwargs = {}, retcode = -11, cmd = ['coconut', 'tests/src/extras.coco', 'tests/dest', '--run', '--jobs', 'sys'] | |
def check_call(*popenargs, **kwargs): | |
"""Run command with arguments. Wait for command to complete. If | |
the exit code was zero then return, otherwise raise | |
CalledProcessError. The CalledProcessError object will have the | |
return code in the returncode attribute. | |
The arguments are the same as for the call function. Example: | |
check_call(["ls", "-l"]) | |
""" | |
retcode = call(*popenargs, **kwargs) | |
if retcode: | |
cmd = kwargs.get("args") | |
if cmd is None: | |
cmd = popenargs[0] | |
> raise CalledProcessError(retcode, cmd) | |
E subprocess.CalledProcessError: Command '['coconut', 'tests/src/extras.coco', 'tests/dest', '--run', '--jobs', 'sys']' returned non-zero exit status -11 | |
../lib/python3.5/subprocess.py:581: CalledProcessError | |
=================================================================================== 1 failed, 16 passed in 384.88 seconds ==================================================================================== | |
bash-4.3# la | |
bash: la: command not found | |
bash-4.3# alias la='ls -lahF' | |
bash-4.3# la | |
total 296 | |
drwxr-xr-x 12 root root 4.0K Sep 29 18:12 ./ | |
drwxr-xr-x 28 root root 4.0K Sep 29 18:06 ../ | |
-rw-r--r-- 1 root root 12.0K Sep 29 17:56 .Makefile.swp | |
drwxr-xr-x 3 root root 4.0K Sep 29 18:05 .cache/ | |
-rw-rw-r-- 1 root root 13 Sep 29 17:38 .dockerignore | |
drwxrwxr-x 8 root root 4.0K Sep 29 17:51 .git/ | |
-rw-rw-r-- 1 root root 732 Sep 28 20:47 .gitignore | |
-rw-rw-r-- 1 root root 499 Sep 27 18:41 .pre-commit-config.yaml | |
-rw-rw-r-- 1 root root 734 Sep 29 17:40 .travis.yml | |
-rw-rw-r-- 1 root root 72.7K Sep 28 20:47 DOCS.md | |
-rw-rw-r-- 1 root root 8.8K Sep 27 18:41 FAQ.md | |
-rw-rw-r-- 1 root root 60.5K Sep 27 18:41 HELP.md | |
-rw-rw-r-- 1 root root 9.9K Sep 28 20:47 LICENSE.txt | |
-rw-rw-r-- 1 root root 84 Sep 27 18:41 MANIFEST.in | |
-rw-rw-r-- 1 root root 774 Sep 28 20:47 Makefile | |
-rw-rw-r-- 1 root root 1.8K Sep 27 18:41 README.rst | |
drwxrwxr-x 10 root root 4.0K Sep 29 18:03 coconut/ | |
drwxr-xr-x 2 root root 4.0K Sep 29 17:58 coconut.egg-info/ | |
-rw-rw-r-- 1 root root 1.6K Sep 27 18:41 conf.py | |
drwxrwxr-x 4 root root 4.0K Sep 29 17:58 dockerfiles/ | |
-rw-rw-r-- 1 root root 30.8K Sep 28 22:50 pre-commit-alpine-build-error | |
-rw-rw-r-- 1 root root 137 Sep 27 18:41 readthedocs.yml | |
drwxrwxr-x 2 root root 4.0K Sep 28 19:20 reqs/ | |
-rw-rw-r-- 1 root root 26 Sep 27 18:41 setup.cfg | |
-rw-rw-r-- 1 root root 7.2K Sep 28 20:47 setup.py | |
-rw-rw-r-- 1 root root 89 Sep 28 21:49 test | |
drwxrwxr-x 4 root root 4.0K Sep 29 18:11 tests/ | |
bash-4.3# find / --name coconut | |
find: unrecognized: --name | |
BusyBox v1.24.2 (2016-08-12 14:38:34 GMT) multi-call binary. | |
Usage: find [-HL] [PATH]... [OPTIONS] [ACTIONS] | |
Search for files and perform actions on them. | |
First failed action stops processing of current file. | |
Defaults: PATH is current directory, action is '-print' | |
-L,-follow Follow symlinks | |
-H ...on command line only | |
-xdev Don't descend directories on other filesystems | |
-maxdepth N Descend at most N levels. -maxdepth 0 applies | |
actions to command line arguments only | |
-mindepth N Don't act on first N levels | |
-depth Act on directory *after* traversing it | |
Actions: | |
( ACTIONS ) Group actions for -o / -a | |
! ACT Invert ACT's success/failure | |
ACT1 [-a] ACT2 If ACT1 fails, stop, else do ACT2 | |
ACT1 -o ACT2 If ACT1 succeeds, stop, else do ACT2 | |
Note: -a has higher priority than -o | |
-name PATTERN Match file name (w/o directory name) to PATTERN | |
-iname PATTERN Case insensitive -name | |
-path PATTERN Match path to PATTERN | |
-ipath PATTERN Case insensitive -path | |
-regex PATTERN Match path to regex PATTERN | |
-type X File type is X (one of: f,d,l,b,c,...) | |
-perm MASK At least one mask bit (+MASK), all bits (-MASK), | |
or exactly MASK bits are set in file's mode | |
-mtime DAYS mtime is greater than (+N), less than (-N), | |
or exactly N days in the past | |
-mmin MINS mtime is greater than (+N), less than (-N), | |
or exactly N minutes in the past | |
-newer FILE mtime is more recent than FILE's | |
-inum N File has inode number N | |
-user NAME/ID File is owned by given user | |
-group NAME/ID File is owned by given group | |
-size N[bck] File size is N (c:bytes,k:kbytes,b:512 bytes(def.)) | |
+/-N: file size is bigger/smaller than N | |
-links N Number of links is greater than (+N), less than (-N), | |
or exactly N | |
-prune If current file is directory, don't descend into it | |
If none of the following actions is specified, -print is assumed | |
-print Print file name | |
-print0 Print file name, NUL terminated | |
-exec CMD ARG ; Run CMD with all instances of {} replaced by | |
file name. Fails if CMD exits with nonzero | |
-exec CMD ARG + Run CMD with {} replaced by list of file names | |
-delete Delete current file/directory. Turns on -depth option | |
bash-4.3# find / -name coconut | |
/usr/bin/coconut | |
/usr/coconut | |
/usr/coconut/coconut | |
/usr/coconut/coconut/icoconut/coconut | |
/usr/local/share/jupyter/kernels/coconut | |
bash-4.3# coconut | |
Coconut Interpreter: | |
(type "exit()" or press Ctrl-D to end) | |
>>> | |
bash-4.3# coconut tests/src/extras.coco tests/dest --run --jobs sys | |
Coconut: Compiling tests/src/extras.coco ... | |
Coconut: Compiled to tests/dest/extras.py . | |
Segmentation fault (core dumped) | |
bash-4.3# which coconut | |
/usr/bin/coconut | |
bash-4.3# /usr/local/share/jupyter/kernels/coconut tests/src/extras.coco tests/dest --run --jobs sys | |
bash: /usr/local/share/jupyter/kernels/coconut: Is a directory | |
bash-4.3# la /usr/local/share/jupyter/kernels/coconut | |
total 12 | |
drwxrwxr-x 2 root root 4.0K Sep 27 18:41 ./ | |
drwxr-xr-x 5 root root 4.0K Sep 29 18:06 ../ | |
-rw-rw-r-- 1 root root 138 Sep 27 18:41 kernel.json | |
bash-4.3# la /usr/coconut/coconut/icoconut/coconut | |
total 12 | |
drwxrwxr-x 2 root root 4.0K Sep 27 18:41 ./ | |
drwxrwxr-x 6 root root 4.0K Sep 29 18:03 ../ | |
-rw-rw-r-- 1 root root 138 Sep 27 18:41 kernel.json | |
bash-4.3# la /usr/coconut/coconut | |
total 88 | |
drwxrwxr-x 10 root root 4.0K Sep 29 18:03 ./ | |
drwxr-xr-x 12 root root 4.0K Sep 29 18:12 ../ | |
-rw-rw-r-- 1 root root 1.2K Sep 27 18:41 __coconut__.py | |
-rw-rw-r-- 1 root root 1.7K Sep 28 20:47 __init__.py | |
-rw-rw-r-- 1 root root 1.2K Sep 27 18:41 __main__.py | |
drwxr-xr-x 2 root root 4.0K Sep 29 18:00 __pycache__/ | |
drwxrwxr-x 3 root root 4.0K Sep 29 18:00 command/ | |
drwxrwxr-x 3 root root 4.0K Sep 29 18:00 compiler/ | |
-rw-rw-r-- 1 root root 7.7K Sep 28 19:46 constants.py | |
-rw-rw-r-- 1 root root 2.9K Sep 28 20:47 convenience.py | |
-rw-rw-r-- 1 root root 4.9K Sep 27 18:41 exceptions.py | |
-rw-rw-r-- 1 root root 4.0K Sep 27 18:41 highlighter.py | |
drwxrwxr-x 6 root root 4.0K Sep 29 18:03 icoconut/ | |
-rw-rw-r-- 1 root root 8.5K Sep 27 18:41 logging.py | |
-rw-rw-r-- 1 root root 1.4K Sep 28 20:47 main.py | |
-rw-rw-r-- 1 root root 7.5K Sep 28 20:47 root.py | |
bash-4.3# la /usr/coconut | |
total 296 | |
drwxr-xr-x 12 root root 4.0K Sep 29 18:12 ./ | |
drwxr-xr-x 28 root root 4.0K Sep 29 18:06 ../ | |
-rw-r--r-- 1 root root 12.0K Sep 29 17:56 .Makefile.swp | |
drwxr-xr-x 3 root root 4.0K Sep 29 18:05 .cache/ | |
-rw-rw-r-- 1 root root 13 Sep 29 17:38 .dockerignore | |
drwxrwxr-x 8 root root 4.0K Sep 29 17:51 .git/ | |
-rw-rw-r-- 1 root root 732 Sep 28 20:47 .gitignore | |
-rw-rw-r-- 1 root root 499 Sep 27 18:41 .pre-commit-config.yaml | |
-rw-rw-r-- 1 root root 734 Sep 29 17:40 .travis.yml | |
-rw-rw-r-- 1 root root 72.7K Sep 28 20:47 DOCS.md | |
-rw-rw-r-- 1 root root 8.8K Sep 27 18:41 FAQ.md | |
-rw-rw-r-- 1 root root 60.5K Sep 27 18:41 HELP.md | |
-rw-rw-r-- 1 root root 9.9K Sep 28 20:47 LICENSE.txt | |
-rw-rw-r-- 1 root root 84 Sep 27 18:41 MANIFEST.in | |
-rw-rw-r-- 1 root root 774 Sep 28 20:47 Makefile | |
-rw-rw-r-- 1 root root 1.8K Sep 27 18:41 README.rst | |
drwxrwxr-x 10 root root 4.0K Sep 29 18:03 coconut/ | |
drwxr-xr-x 2 root root 4.0K Sep 29 17:58 coconut.egg-info/ | |
-rw-rw-r-- 1 root root 1.6K Sep 27 18:41 conf.py | |
drwxrwxr-x 4 root root 4.0K Sep 29 17:58 dockerfiles/ | |
-rw-rw-r-- 1 root root 30.8K Sep 28 22:50 pre-commit-alpine-build-error | |
-rw-rw-r-- 1 root root 137 Sep 27 18:41 readthedocs.yml | |
drwxrwxr-x 2 root root 4.0K Sep 28 19:20 reqs/ | |
-rw-rw-r-- 1 root root 26 Sep 27 18:41 setup.cfg | |
-rw-rw-r-- 1 root root 7.2K Sep 28 20:47 setup.py | |
-rw-rw-r-- 1 root root 89 Sep 28 21:49 test | |
drwxrwxr-x 5 root root 4.0K Sep 29 18:21 tests/ | |
bash-4.3# la /usr/bin/coconut | |
-rwxr-xr-x 1 root root 363 Sep 29 18:00 /usr/bin/coconut* | |
bash-4.3# exit |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment