Yes, the thing Travis pulled off is just horrible, and getting open source 'credits' is practically PITA, from what I've heard. Thanks for the fix, I can confirm that the tests pass now.
Apparently the test is run conditionally to ICU < 69.0 but getFirstDecimal()
seems to be declared conditionally to ICU < 68.0.
(running 'icu-config --version')
Building PyICU 2.7 for ICU 68.2 (max ICU major version supported: 69)
(running 'icu-config --cxxflags --cppflags')
Adding CFLAGS="-DU_DISABLE_RENAMING=1 -I/usr/include" from /usr/bin/icu-config
(running 'icu-config --ldflags')
Adding LFLAGS="-L/usr/lib64 -licui18n -licuuc -licudata" from /usr/bin/icu-config
running test
WARNING: Testing via this command is deprecated and will be removed in a future version. Users looking for a generic test entry point independent of test runner are encouraged to use tox.
running egg_info
writing PyICU.egg-info/PKG-INFO
writing dependency_links to PyICU.egg-info/dependency_links.txt
writing top-level names to PyICU.egg-info/top_level.txt
reading manifest template 'MANIFEST.in'
writing manifest file 'PyICU.egg-info/SOURCES.txt'
running build_ext
copying build/lib.linux-x86_64-3.9/_icu.cpython-39-x86_64-linux-gnu.so ->
LayoutEngine not available in ICU 68.2testConvertNaiveDatetime (test.test_UDate.TestUDate) ... ok
testAccess (test.test_UCharsTrie.TestUCharsTrie) ... ok
testBuildAndIterate (test.test_UCharsTrie.TestUCharsTrie) ... ok
testSortOfHighAndLowCodepoints (test.test_UCS4.Tests) ... ok
testPythonTransliterator (test.test_Transliterator.TestTransliterator) ... ok
testPythonTransliteratorException (test.test_Transliterator.TestTransliterator) ... ok
testTransliterate (test.test_Transliterator.TestTransliterator) ... ok
testUnicodeString (test.test_Transliterator.TestTransliterator) ... ok
testAreConfusable (test.test_Spoof.TestSpoofChecker) ... ok
testCheck (test.test_Spoof.TestSpoofChecker) ... ok
testGetSkeleton (test.test_Spoof.TestSpoofChecker) ... ok
testInvisible (test.test_Spoof.TestSpoofChecker) ... ok
testDefault (test.test_SimpleFormatter.TestSimpleFormatter) ... ok
testSmileyFace (test.test_Script.TestScript) ... ok
testSurrogatePairs (test.test_Script.TestScript) ... ok
testAccess (test.test_PythonReplaceable.TestPythonReplaceable) ... ok
testTransliterate (test.test_PythonReplaceable.TestPythonReplaceable) ... ok
testBasic (test.test_NumberFormatter.TestNumberFormatter) ... ok
testFancy (test.test_NumberFormatter.TestNumberFormatter) ... ok
testFormattedNumber (test.test_NumberFormatter.TestNumberFormatter) ... ok
testFromDecimalFormat (test.test_NumberFormatter.TestNumberFormatter) ... ok
testUnit (test.test_NumberFormatter.TestNumberFormatter) ... ok
testUsage (test.test_NumberFormatter.TestNumberFormatter) ... ok
testBasic (test.test_NumberFormatter.TestNumberRangeFormatter) ... ok
testFormattedNumberRange (test.test_NumberFormatter.TestNumberRangeFormatter) ... ERROR
testNormalize (test.test_Normalizer.TestNormalizer2) ... ok
testFormat (test.test_MessageFormat.TestMessageFormat) ... ok
testFormatAppend (test.test_MessageFormat.TestMessageFormat) ... ok
testFormatMessage (test.test_MessageFormat.TestMessageFormat) ... ok
testFormats (test.test_MessageFormat.TestMessageFormat) ... ok
testNamedArgs (test.test_MessageFormat.TestMessageFormat) ... ok
testSelectFormat (test.test_MessageFormat.TestMessageFormat) ... ok
testGetBestMatch (test.test_LocaleMatcher.TestLocaleMatcher) ... ok
testGetBestMatchResult (test.test_LocaleMatcher.TestLocaleMatcher) ... ok
testSetSupportedLocales (test.test_LocaleMatcher.TestLocaleMatcher) ... ok
testCoverage (test.test_LocaleData.TestLocaleData) ... ok
testExemplarSet (test.test_LocaleData.TestLocaleData) ... ok
testExemplarSet2 (test.test_LocaleData.TestLocaleData) ... ok
testLocaleDisplayPattern (test.test_LocaleData.TestLocaleData) ... ok
testMeasurementSystem (test.test_LocaleData.TestLocaleData) ... ok
testPapersize (test.test_LocaleData.TestLocaleData) ... ok
testConstructWithKeywords (test.test_Locale.TestLocale) ... ok
testDefault (test.test_ListFormatter.TestListFormatter) ... ok
testLocale (test.test_ListFormatter.TestListFormatter) ... ok
testAddPattern (test.test_DateTimeParserGenerator.TestDateTimePatternGenerator)
Test overwriting a pattern with the same skeleton. ... ok
testGetBestPattern (test.test_DateTimeParserGenerator.TestDateTimePatternGenerator)
Test a few different languages and common patterns. ... ok
testReplaceFieldType (test.test_DateTimeParserGenerator.TestDateTimePatternGenerator)
Test replacing an element of a pattern. ... ok
testAlphabeticIndex (test.test_Collator.TestCollator) ... ok
testCollatorLoading (test.test_Collator.TestCollator) ... ok
testCreateInstancePolymorph (test.test_Collator.TestCollator) ... ok
testGetSortKey (test.test_Collator.TestCollator) ... ok
testSort (test.test_Collator.TestCollator) ... ok
testDeclared (test.test_Charset.TestCharset) ... ok
testDetect (test.test_Charset.TestCharset) ... ok
testDetectAll (test.test_Charset.TestCharset) ... ok
testUnicode (test.test_Charset.TestCharset) ... ok
testAccess (test.test_BytesTrie.TestBytesTrie) ... ok
testBuildAndIterate (test.test_BytesTrie.TestBytesTrie) ... ok
testCreateInstanceFromBinaryRules (test.test_BreakIterator.TestBreakIterator) ... ok
testCreateInstancePolymorph (test.test_BreakIterator.TestBreakIterator) ... ok
testDefault (test.test_Bidi.TestBidi) ... ok
testForcedDirection (test.test_Bidi.TestBidi) ... ok
testLines (test.test_Bidi.TestBidi) ... ok
testTransform (test.test_Bidi.TestBidi) ... ok
======================================================================
ERROR: testFormattedNumberRange (test.test_NumberFormatter.TestNumberRangeFormatter)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/pyicu/test/test_NumberFormatter.py", line 165, in testFormattedNumberRange
self.assertEqual(value.getFirstDecimal(), u'3.33E-1')
AttributeError: 'icu.FormattedNumberRange' object has no attribute 'getFirstDecimal'
----------------------------------------------------------------------
Ran 64 tests in 0.764s
FAILED (errors=1)
Test failed: <unittest.runner.TextTestResult run=64 errors=1 failures=0>
error: Test failed: <unittest.runner.TextTestResult run=64 errors=1 failures=0>