New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
freebsd couldn't convert tap to xml #1830
Comments
@nodejs/platform-freebsd maybe? |
I am still trying to get up to speed on how build environments are setup, it looks like this error is a transient issue. Are python modules installed as part of each CI run, or is the host preconfigured to have python modules like this installed ahead of time via Ansible? I see subsequent builds do not have an issue with executing tap2junit, for example https://ci.nodejs.org/job/node-test-commit-freebsd/nodes=freebsd11-x64/26740/console (which seems to suffer from another issue). |
@nomadlogic that's probably because we have two freebsd11 workers - https://ci.nodejs.org/label/freebsd11-x64/ But the error is strange since refael@refaelux:~$ ssh test-digitalocean-freebsd11-x64-1
$ ls -la /usr/local/lib/python3.6/site-packages/tap2junit/
total 31
drwxr-xr-x 3 root wheel 6 May 27 03:24 .
drwxr-xr-x 16 root wheel 22 May 27 03:24 ..
-rw-r--r-- 1 root wheel 0 Oct 24 2016 __init__.py
-rw-r--r-- 1 root wheel 1373 Nov 4 2016 __main__.py
drwxr-xr-x 2 root wheel 5 May 27 03:24 __pycache__
-rw-r--r-- 1 root wheel 4877 Oct 24 2016 tap13.py And AFAICT |
thanks for pointing that out @refack - it looks like i can reproduce this in a virtualenv on one of my FreeBSD systems:
i created a fresh virtualenv, executed |
Yeah I think I figured the issue. Default $ cat /usr/local/bin/tap2junit
#!/usr/local/bin/python
# EASY-INSTALL-ENTRY-SCRIPT: 'tap2junit==0.1.5','console_scripts','tap2junit'
__requires__ = 'tap2junit==0.1.5'
import re
import sys
from pkg_resources import load_entry_point
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(
load_entry_point('tap2junit==0.1.5', 'console_scripts', 'tap2junit')()
)
$ sudo python2 m pip install --upgrade pip pipenv git+https://github.com/refack/tap2junit.git
$ cat /usr/local/bin/tap2junit
#!/usr/local/bin/python2
# EASY-INSTALL-ENTRY-SCRIPT: 'tap2junit==0.1.5','console_scripts','tap2junit'
__requires__ = 'tap2junit==0.1.5'
import re
import sys
from pkg_resources import load_entry_point
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(
load_entry_point('tap2junit==0.1.5', 'console_scripts', 'tap2junit')()
) |
P.S. [iojs@test-digitalocean-freebsd11-x64-1 ~/build/workspace/node-test-commit-freebsd/nodes/freebsd11-x64]$ tap2junit -i test.tap -o out/junit/test.xml
[iojs@test-digitalocean-freebsd11-x64-1 ~/build/workspace/node-test-commit-freebsd/nodes/freebsd11-x64]$ echo $?
0 |
P.P.S. @nomadlogic if you still have the spare cycles and are comfortable with python, maybe you could figure out why this happens in 3.6? |
heh i just realized this works with py27 on FreeBSD as well. I'll take a stab at seeing how to get this working py3.6. |
see also #1832 |
I am willing to bet the machines that this still works on has python-2.7 installed and it is invoking the python-2.7 interpreter to execute. I would suggest running it through "2to3-3.6" or something similar to see what will be needed to update to get this working. the code looks like it hasn't been touched since 2016, so it's not surprising it's not compatible: |
Related: #1847 (comment) |
tap2junit 0.1.5 is compatible with Python 3 and would seem to fix other bugs. Refs: nodejs/node#30955 (comment) Can we update to tap2junit 0.1.5? |
This issue is stale because it has been open many days with no activity. It will be closed soon unless the stale label is removed or a comment is made. |
python not setup correctly, or something:
No module named 'tap13'
Haven't had time to see how consistent it is.
The text was updated successfully, but these errors were encountered: