2011-11-10 79 views
0

停止我正常運行特定的django應用測試,但我很好奇,決定運行整個測試套件(其包括django的試驗)與django的測試涉及到在test_date_length

./manage.py test 

測試套件凍結。

要知道爲什麼/哪裏,我跑

./manage.py test -v 2 

,看來,測試停止在

test_date_length (django.contrib.auth.tests.tokens.TokenGeneratorTest) ... 

發生此行爲兩個的Django 1.3和Django的1.4+(主幹)工作。

希望任何關於爲什麼發生這種情況的指針。

+0

我剛剛運行測試套件只是爲了看看,我沒有這個測試線:'test_date_length(django.contrib.auth.tests.tokens.TokenGeneratorTest) '。做一些應用程序是否需要運行這個特定的測試? –

+0

你在哪個平臺上?你使用的是哪個數據庫? –

+0

用於此測試的SQLite,但我昨天也有使用PostgreSQL的相同問題。 Mac OS X. –

回答

1

經過一些調試,我發現這個問題是由通過MacPorts編譯的clang編譯的Python(2.7)錯誤導致的。

由Python的在Django代碼庫TokenGeneratorTest

factor = 0 
while True: 
    factor += 1 
    if i < 36 ** factor: 
     factor -= 1 
     break 

的執行期間執行的循環掛在Python 2.7版(通過MacPorts的)通過鐺編譯。

我重新編譯了我的Python 2.7和apple-gcc-4.2,並且這個while循環不再凍結時給出一個大的值。

0

我使用Apple Command Line Tools和Homebrew。我這是怎麼定這個錯誤:

brew uninstall python 
brew install --use-llvm python 
+0

感謝您使用brew的注意事項。 –