In Python 2.7 the if statement would catch both cases from the test test_populate_lenient_fallback, so the test was failing. These are the error strings differences between Python 2 and 3: Python 2: NoLenient: populate() got an unexpected keyword argument 'lenient' NoZone: populate() got multiple values for keyword argument 'lenient' Python 3: NoLenient: populate() got an unexpected keyword argument 'lenient' NoZone: populate() got multiple values for argument 'lenient'pull/732/head