Edgewall Software

Opened 11 years ago

Closed 11 years ago

Last modified 10 years ago

#11291 closed defect (fixed)

trac-1.0.1 - PyGIT TypeError: execv() arg 2 must contain only strings — at Version 7

Reported by: beber@… Owned by: Jun Omae
Priority: normal Milestone: 1.0.2
Component: plugin/git Version: 1.0-stable
Severity: normal Keywords:
Cc: djc@…, tomwij@… Branch:
Release Notes:

Fixed test failures of PyGIT when filesystem encoding is ascii using C/POSIX locale.

API Changes:
Internal Changes:

Description (last modified by Ryan J Ollos)

While running the test case suite for trac 1.0.1 using python 2.7.5, it fail on tracopt.versioncontrol.git.tests.PyGIT.UnicodeNameTestCase case with the following error :

======================================================================
ERROR: test_unicode_branches (tracopt.versioncontrol.git.tests.PyGIT.UnicodeNameTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/var/tmp/portage/www-apps/trac-1.0.1/work/Trac-1.0.1/tracopt/versioncontrol/git/tests/PyGIT.py", line 155, in setUp
    self._git('config', 'user.name', u"Joé")
  File "/var/tmp/portage/www-apps/trac-1.0.1/work/Trac-1.0.1/tracopt/versioncontrol/git/tests/PyGIT.py", line 168, in _git
    cwd=self.repos_path)
  File "/usr/lib64/python2.7/subprocess.py", line 711, in __init__
    errread, errwrite)
  File "/usr/lib64/python2.7/subprocess.py", line 1308, in _execute_child
    raise child_exception
TypeError: execv() arg 2 must contain only strings

======================================================================
ERROR: test_unicode_filename (tracopt.versioncontrol.git.tests.PyGIT.UnicodeNameTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/var/tmp/portage/www-apps/trac-1.0.1/work/Trac-1.0.1/tracopt/versioncontrol/git/tests/PyGIT.py", line 155, in setUp
    self._git('config', 'user.name', u"Joé")
  File "/var/tmp/portage/www-apps/trac-1.0.1/work/Trac-1.0.1/tracopt/versioncontrol/git/tests/PyGIT.py", line 168, in _git
    cwd=self.repos_path)
  File "/usr/lib64/python2.7/subprocess.py", line 711, in __init__
    errread, errwrite)
  File "/usr/lib64/python2.7/subprocess.py", line 1308, in _execute_child
    raise child_exception
TypeError: execv() arg 2 must contain only strings

======================================================================
ERROR: test_unicode_tags (tracopt.versioncontrol.git.tests.PyGIT.UnicodeNameTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/var/tmp/portage/www-apps/trac-1.0.1/work/Trac-1.0.1/tracopt/versioncontrol/git/tests/PyGIT.py", line 155, in setUp
    self._git('config', 'user.name', u"Joé")
  File "/var/tmp/portage/www-apps/trac-1.0.1/work/Trac-1.0.1/tracopt/versioncontrol/git/tests/PyGIT.py", line 168, in _git
    cwd=self.repos_path)
  File "/usr/lib64/python2.7/subprocess.py", line 711, in __init__
    errread, errwrite)
  File "/usr/lib64/python2.7/subprocess.py", line 1308, in _execute_child
    raise child_exception
TypeError: execv() arg 2 must contain only strings

======================================================================
ERROR: test_unicode_verifyrev (tracopt.versioncontrol.git.tests.PyGIT.UnicodeNameTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/var/tmp/portage/www-apps/trac-1.0.1/work/Trac-1.0.1/tracopt/versioncontrol/git/tests/PyGIT.py", line 155, in setUp
    self._git('config', 'user.name', u"Joé")
  File "/var/tmp/portage/www-apps/trac-1.0.1/work/Trac-1.0.1/tracopt/versioncontrol/git/tests/PyGIT.py", line 168, in _git
    cwd=self.repos_path)
  File "/usr/lib64/python2.7/subprocess.py", line 711, in __init__
    errread, errwrite)
  File "/usr/lib64/python2.7/subprocess.py", line 1308, in _execute_child
    raise child_exception
TypeError: execv() arg 2 must contain only strings

Change History (7)

comment:1 by Ryan J Ollos, 11 years ago

Description: modified (diff)

comment:2 by Jun Omae, 11 years ago

Component: generalplugin/git
Milestone: 1.0.2
Owner: set to Jun Omae
Status: newassigned

Thanks for the report. Reproduced with filesystem encoding being ascii.

$ LC_ALL=C make python=25 clean unit-test
....
FAILED (errors=6)
make: *** [unit-test] Error 1

No errors if filesystem encoding is utf-8, e.g. en_US.UTF8.

comment:3 by Ryan J Ollos, 11 years ago

I'll just add that your traceback does not agree with the statement that you are running Trac 1.0.1: tags/trac-1.0.1/tracopt/versioncontrol/git/tests/PyGIT.py@:155#L147. The traceback corresponds to PyGIT@11675, which is 1.0.2dev. Just make sure to note in the future that you are running a patched version of 1.0.1, which is what you seem to be saying in comment:2:ticket:11290.

in reply to:  3 ; comment:4 by beber@…, 11 years ago

Replying to rjollos:

I'll just add that your traceback does not agree with the statement that you are running Trac 1.0.1: tags/trac-1.0.1/tracopt/versioncontrol/git/tests/PyGIT.py@:155#L147. The traceback corresponds to PyGIT@11675, which is 1.0.2dev. Just make sure to note in the future that you are running a patched version of 1.0.1, which is what you seem to be saying in comment:2:ticket:11290.

Right ! And it work as expected without patch [11675] so it be closed imho. Sorry for noise.

in reply to:  4 comment:5 by Ryan J Ollos, 11 years ago

Replying to beber@…:

Right ! And it work as expected without patch [11675] so it be closed imho. Sorry for noise.

It sounds like Jun discovered the reason for the failure, so we probably want to leave it open and fix the issue.

comment:6 by Jun Omae, 11 years ago

Resolution: fixed
Status: assignedclosed
Version: 1.0.11.0-stable

Fixed in [12020], thanks!

comment:7 by Ryan J Ollos, 10 years ago

Release Notes: modified (diff)
Note: See TracTickets for help on using tickets.