The issue looks to be the TZDIR (Time zoneinfo directory) has changed between 
10.12 and 10.13

On 10.12 (Sierra), /usr/include/tzfile.h defines:
$ grep TZDIR /usr/include/tzfile.h 
#ifndef TZDIR
#define TZDIR   "/usr/share/zoneinfo" /* Time zone object file directory */
#endif /* !defined TZDIR */

But when compiling with the beta its defined as:

$ grep TZDIR 
/Applications/Xcode-beta.app//Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/tzfile.h
#ifndef TZDIR
#define TZDIR   "/var/db/timezone/zoneinfo" /* Time zone object file directory 
*/
#endif /* !defined TZDIR */

Which fails to since its pointing in the wrong place. A quick workaround is to 
just hardcode the TZDIR in CoreFoundation//NumberDate.subproj/CFTimeZone.c. A 
better workaround is maybe find out which os version the test is running on and 
set it dynamically.




> On 20 Jun 2017, at 04:23, Zhu Shengqi via swift-corelibs-dev 
> <swift-corelibs-dev@swift.org> wrote:
> 
> Hi guys, I want to contribute to swift-corelibs-foundation, but I met some 
> problems when testing my code. I got some fatalErrors ( e.g. in 
> test_gettingDatesOnGregorianCalendar(), TimeZone(identifier: "UTC") returns a 
> nil before being unwrapped). Do you have the same problems?
> 
> I'm using Xcode 9 beta and have tried both 
> swift-DEVELOPMENT-SNAPSHOT-2017-06-19-a-osx and 
> swift-4.0-DEVELOPMENT-SNAPSHOT-2017-06-12-a-osx (which swift snapshot should 
> I use btw?).
>  
> _______________________________________________
> swift-corelibs-dev mailing list
> swift-corelibs-dev@swift.org
> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev

_______________________________________________
swift-corelibs-dev mailing list
swift-corelibs-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-corelibs-dev

Reply via email to