Edgewall Software

Opened 8 years ago

Last modified 4 years ago

#12450 closed defect

Test failures on Windows in tracopt.versioncontrol.git.tests — at Version 6

Reported by: Ryan J Ollos Owned by: Ryan J Ollos
Priority: normal Milestone:
Component: plugin/git Version:
Severity: normal Keywords: tests
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:

Description (last modified by Ryan J Ollos)

On both 1.0-stable and trunk:

======================================================================
ERROR: test_sync_too_many_merges (tracopt.versioncontrol.git.tests.git_fs.GitCac
hedRepositoryTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\tracopt\ver
sioncontrol\git\tests\git_fs.py", line 581, in test_sync_too_many_merges
    repos.sync()
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\tracopt\ver
sioncontrol\git\git_fs.py", line 138, in sync
    cset = repos.get_changeset(rev)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\tracopt\ver
sioncontrol\git\git_fs.py", line 560, in get_changeset
    return GitChangeset(self, rev)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\tracopt\ver
sioncontrol\git\git_fs.py", line 782, in __init__
    msg, props = repos.git.read_commit(sha)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\tracopt\ver
sioncontrol\git\PyGIT.py", line 831, in read_commit
    raw = unicode(raw, self.get_commit_encoding(), 'replace')
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\tracopt\ver
sioncontrol\git\PyGIT.py", line 648, in get_commit_encoding
    self.repo.config('--get', 'i18n.commitEncoding').strip() or \
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\tracopt\ver
sioncontrol\git\PyGIT.py", line 141, in __execute
    stdout_data, stderr_data = p.communicate()
  File "c:\python27-x64\Lib\subprocess.py", line 799, in communicate
    return self._communicate(input)
  File "c:\python27-x64\Lib\subprocess.py", line 1023, in _communicate
    args=(self.stdout, stdout))
  File "c:\python27-x64\Lib\threading.py", line 680, in __init__
    self.__started = Event()
  File "c:\python27-x64\Lib\threading.py", line 550, in Event
    return _Event(*args, **kwargs)
  File "c:\python27-x64\Lib\threading.py", line 563, in __init__
    self.__cond = Condition(Lock())
  File "c:\python27-x64\Lib\threading.py", line 253, in Condition
    return _Condition(*args, **kwargs)
  File "c:\python27-x64\Lib\threading.py", line 261, in __init__
    _Verbose.__init__(self, verbose)
RuntimeError: maximum recursion depth exceeded in __instancecheck__

======================================================================
ERROR: test_sync_too_many_merges (tracopt.versioncontrol.git.tests.git_fs.GitCac
hedRepositoryTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\tracopt\ver
sioncontrol\git\tests\git_fs.py", line 111, in tearDown
    rmtree(self.repos_path)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 109, in rmtree
    shutil.rmtree(path, onerror=onerror)
  File "c:\python27-x64\Lib\shutil.py", line 247, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File "c:\python27-x64\Lib\shutil.py", line 247, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File "c:\python27-x64\Lib\shutil.py", line 252, in rmtree
    onerror(os.remove, fullname, sys.exc_info())
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 102, in onerror
    onerror(function, path, excinfo, retry + 1)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 102, in onerror
    onerror(function, path, excinfo, retry + 1)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 102, in onerror
    onerror(function, path, excinfo, retry + 1)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 102, in onerror
    onerror(function, path, excinfo, retry + 1)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 102, in onerror
    onerror(function, path, excinfo, retry + 1)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 102, in onerror
    onerror(function, path, excinfo, retry + 1)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 102, in onerror
    onerror(function, path, excinfo, retry + 1)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 102, in onerror
    onerror(function, path, excinfo, retry + 1)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 102, in onerror
    onerror(function, path, excinfo, retry + 1)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 102, in onerror
    onerror(function, path, excinfo, retry + 1)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-1.0-stable\trac\tests\
compat.py", line 96, in onerror
    function(path)
WindowsError: [Error 5] Access is denied: u'c:\\users\\ryanol~1\\appdata\\local\
\temp\\trac-gitrepos-osxhpv\\objects\\pack\\pack-a7f586d90bd005eeaba49e459c29777
f62fcf408.idx'

----------------------------------------------------------------------
Ran 1531 tests in 42.814s

FAILED (errors=2)

This issue was also reported in #12312.

Change History (6)

comment:1 by Ryan J Ollos, 8 years ago

Keywords: tests added

Additionally, I see these failures only on the trunk:

======================================================================
ERROR: test_from_author (trac.ticket.tests.notification.NotificationTestCase)
Using the reporter or change author as the notification sender
----------------------------------------------------------------------
Traceback (most recent call last):
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\ticket\test
s\notification.py", line 531, in test_from_author
    ticket.save_changes('Test User <test@example.com>', 'Some changes')
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\ticket\mode
l.py", line 380, in save_changes
    old_db_values.get(name), db_values.get(name)))
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\db\util.py"
, line 128, in execute
    cursor.execute(query, params if params is not None else [])
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\db\util.py"
, line 61, in execute
    r = self.cursor.execute(sql_escape_percent(sql), args)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\db\sqlite_b
ackend.py", line 87, in execute
    result = PyFormatCursor.execute(self, *args)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\db\sqlite_b
ackend.py", line 63, in execute
    args or [])
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\db\sqlite_b
ackend.py", line 54, in _rollback_on_error
    return function(self, *args, **kwargs)
IntegrityError: columns ticket, time, field are not unique

======================================================================
ERROR: test_template_data_changes_for_time_field (trac.ticket.tests.web_ui.Ticke
tModuleTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\ticket\test
s\web_ui.py", line 336, in test_template_data_changes_for_time_field
    t.save_changes('anonymous')
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\ticket\mode
l.py", line 380, in save_changes
    old_db_values.get(name), db_values.get(name)))
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\db\util.py"
, line 128, in execute
    cursor.execute(query, params if params is not None else [])
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\db\util.py"
, line 61, in execute
    r = self.cursor.execute(sql_escape_percent(sql), args)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\db\sqlite_b
ackend.py", line 87, in execute
    result = PyFormatCursor.execute(self, *args)
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\db\sqlite_b
ackend.py", line 63, in execute
    args or [])
  File "c:\users\ryan ollos\documents\workspace\trac\trac-trunk\trac\db\sqlite_b
ackend.py", line 54, in _rollback_on_error
    return function(self, *args, **kwargs)
IntegrityError: columns ticket, time, field are not unique

This was seen in an environment an in-memory SQLite database and no optional dependencies installed (virtual environment with Trac and Genshi only).

Last edited 8 years ago by Ryan J Ollos (previous) (diff)

in reply to:  1 ; comment:2 by Jun Omae, 8 years ago

Replying to Ryan J Ollos:

IntegrityError: columns ticket, time, field are not unique

Are you using Windows 7? Windows 7 has still has low-resolution system time issue. GetSystemTimePreciseAsFileTime() is available since Windows 8 and Windows Server 2012. See comment:2:ticket:12311.

in reply to:  2 comment:3 by Ryan J Ollos, 8 years ago

Replying to Jun Omae:

Are you using Windows 7? Windows 7 has still has low-resolution system time issue. GetSystemTimePreciseAsFileTime() is available since Windows 8 and Windows Server 2012. See comment:2:ticket:12311.

Yeah, it's Windows 7. That explains why I didn't see the error on every execution. I guess we can ignore the comment:1 errors in that case.

I plan to move to Windows 10 soon, but my company is lagging so I have to do development in a Windows 7 VM still. I don't have enough room on the SSD of my Mac Pro to also store a Windows 10 VM. Maybe I'll try running a Windows 10 VM off an external disk.

comment:4 by Ryan J Ollos, 8 years ago

Milestone: 1.0.111.0.12

comment:5 by Ryan J Ollos, 8 years ago

Owner: set to Ryan J Ollos
Status: newassigned

comment:6 by Ryan J Ollos, 8 years ago

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