I've only poked this briefly, but it looks like CFCopySystemVersionString() might give the info we'd need?
On 6 July 2017 at 16:28, Tony Parker <anthony.par...@apple.com> wrote: > Yes, we’re discussing this one internally too and trying to figure out what > the right answer is. Maybe the best solution for now is to find a good > mechanism to check the underlying version of the OS and split it out into a > function as you suggest. > > - Tony > > > On Jul 6, 2017, at 7:37 AM, Ian Partridge via swift-corelibs-dev > <swift-corelibs-dev@swift.org> wrote: > > Good shout Simon, you are right. I'm on Sierra. Compare and contrast: > > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/tzfile.h > #define TZDIR "/usr/share/zoneinfo" > > /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/tzfile.h > #define TZDIR "/var/db/timezone/zoneinfo" > > so I guess if I installed the High Sierra beta it would work OK. > > I hacked CF to force it to use /usr/share/zoneinfo and TestFoundation > is much happier, but that's not a solution. > > On 6 July 2017 at 15:20, Simon Evans <s...@si.org> wrote: > > Ian > > I also saw this error, I think its because the TZDIR is different in the > headers shipped with Xcode 9. Maybe the location of the timezone directory > was moved between Sierra and High Sierra. What version of macOS are you > testing on? > > If it has indeed moved between 10.12 and 10.13 it may require a runtime > version check to dynamically return TZDIR. > > Simon > > > On 6 Jul 2017, at 15:09, Ian Partridge via swift-corelibs-dev > <swift-corelibs-dev@swift.org> wrote: > > Hi, > > I'm seeing quite a lot of tests failing when running the > TestFoundation target in Xcode. The failures are timezone related. > Most simply, the code > > let timeZone = TimeZone(abbreviation: "GMT") > > is returning nil. > > Walking through the CF code which sets things up, it seems to be > trying to read the timezone database from > /var/db/timezone/zoneinfo/zone.tab which doesn't exist on my macOS > system. > > /usr/share/zoneinfo/zone.tab is there and seems to be the right > location (?), but CF is picking up TZDIR from tzfile.h which says: > > #define TZDIR "/var/db/timezone/zoneinfo" > > Any thoughts? I feel like I'm missing something obvious and have gone > too far down the rabbit hole. > > -- > Ian Partridge > _______________________________________________ > swift-corelibs-dev mailing list > swift-corelibs-dev@swift.org > https://lists.swift.org/mailman/listinfo/swift-corelibs-dev > > > > > > -- > Ian Partridge > _______________________________________________ > swift-corelibs-dev mailing list > swift-corelibs-dev@swift.org > https://lists.swift.org/mailman/listinfo/swift-corelibs-dev > > -- Ian Partridge _______________________________________________ swift-corelibs-dev mailing list swift-corelibs-dev@swift.org https://lists.swift.org/mailman/listinfo/swift-corelibs-dev