2013-07-04 5 views
0

Я извлек/объединил последние изменения из репозитория libgit2 (commit 4ae29053d5), создал подкаталог build и скомпилировал библиотеку в Windows 7 с помощью Visual Studio 2010 следующим образом:Насколько неудачен тест libgit2? (Как интерпретировать результаты?)

e:\Software\libgit2\build>cmake .. -G"Visual Studio 10" -DTHREADSAFE=ON -DSTDCALL=OFF 
-- The C compiler identification is MSVC 16.0.40219.1 
-- Check for working C compiler using: Visual Studio 10 
-- Check for working C compiler using: Visual Studio 10 -- works 
-- Detecting C compiler ABI info 
-- Detecting C compiler ABI info - done 
zlib was not found; using bundled 3rd-party sources. 
-- Found PythonInterp: c:/Python26/python.exe (found version "2.6.5") 
-- Configuring done 
-- Generating done 
-- Build files have been written to: E:/Software/libgit2/build 

e:\Software\libgit2\build>cmake --build . 

Microsoft (R) Visual Studio Version 10.0.40219.1. 
Copyright (C) Microsoft Corp. All rights reserved. 
1>------ Build started: Project: ZERO_CHECK, Configuration: Debug Win32 ------ 
1> Checking Build System 
1> CMake does not need to re-run because E:/Software/libgit2/build/CMakeFiles/g 
enerate.stamp is up-to-date. 
2>------ Build started: Project: git2, Configuration: Debug Win32 ------ 
3>------ Build started: Project: libgit2_clar, Configuration: Debug Win32 ------ 

2> Building Custom Rule E:/Software/libgit2/CMakeLists.txt 
2> CMake does not need to re-run because E:\Software\libgit2\build\CMakeFiles\g 
enerate.stamp is up-to-date. 
2> precompiled.c 
3> Building Custom Rule E:/Software/libgit2/CMakeLists.txt 
[...] 
3> renames.c 
3> submodules.c 
3> lookup.c 
3> status.c 
3> basic.c 
3> trace.c 
3>  Creating library E:/Software/libgit2/build/Debug/libgit2_clar.lib and obj 
ect E:/Software/libgit2/build/Debug/libgit2_clar.exp 
3>  Creating library E:/Software/libgit2/build/Debug/libgit2_clar.lib and obj 
ect E:/Software/libgit2/build/Debug/libgit2_clar.exp 
3> libgit2_clar.vcxproj -> E:\Software\libgit2\build\Debug\libgit2_clar.exe 
4>------ Build started: Project: ALL_BUILD, Configuration: Debug Win32 ------ 
4> Building Custom Rule E:/Software/libgit2/CMakeLists.txt 
4> CMake does not need to re-run because E:\Software\libgit2\build\CMakeFiles\g 
enerate.stamp is up-to-date. 
4> Build all projects 
========== Build: 4 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========  

Все кажется ОК. При запуске теста он терпит неудачу:

e:\Software\libgit2\build>ctest -V 
UpdateCTestConfiguration from :E:/Software/libgit2/build/DartConfiguration.tcl 
UpdateCTestConfiguration from :E:/Software/libgit2/build/DartConfiguration.tcl 
Test project E:/Software/libgit2/build 
Constructing a list of tests 
Done constructing a list of tests 
Checking test dependency graph... 
Checking test dependency graph end 
test 1 
    Start 1: libgit2_clar 

1: Test command: E:\Software\libgit2\build\Debug\libgit2_clar.exe "-ionline" 
1: Test timeout computed to be: 9.99988e+006 
1: Loaded 195 suites: 
1: Started 
1: 
1: attr::file.... 
1: attr::flags... 
1: attr::ignore..... 
[...] 
1: status::submodules...... 
1: status::worktree.................................. 
1: status::worktree::init........ 
1: submodule::lookup..... 
1: submodule::modify.... 
1: submodule::status....... 
1: threads::basic. 
1: trace::trace...... 
1: 
1: 1) Failure: 
1: diff::workdir::submodules [..\tests-clar\diff\workdir.c:825] 
1: 33 != exp.lines 
1: 33 != 35 
1: 
1/1 Test #1: libgit2_clar .....................***Failed 250.12 sec 

0% tests passed, 1 tests failed out of 1 

Total Test time (real) = 250.20 sec 

The following tests FAILED: 
      1 - libgit2_clar (Failed) 
Errors while running CTest 

Является ли это ситуацией с информацией? Кажется, что прошло много (суб) тестов. Я не знаю рамки тестирования. Получают ли сообщения в конце, что только diff::workdir::submodules не удалось?

ответ

0

Я не знаю рамки испытаний.

Libgit2 опирается на тестовой рамках Clar.

Имеет ли сообщения в конце означает, что сработало только условие: :: workdir :: subodules?

Да. Точнее, он указывает вам на failing assertion

Это известная ситуация?

No. Команда libgit2 усердно работает, чтобы всегда иметь тесты, проходящие.

Я пробовал на месте, и я не могу воспроизвести эту проблему. Это gist содержит сборку и испытание с [email protected].

Это было запущено на платформе Win 7 (32 бит) против Visual Studio 2010.

Единственное отличие, которое я вижу в том, что вы используете более старую версию Python, но это не должно быть проблемой. полагается на Python для создания набора тестов (подробнее об этом в файле README) и поддерживает Python до версии 2.5.

Если вы можете успешно воспроизвести эту ошибку, пожалуйста, открыть вопрос в libgit2 issue tracker, так как это может потребовать более глубокое устранения неполадок, которые могут не соответствовать формату StackOverflow.

Смежные вопросы