mac: Fix MacOSVersionNumber for 10.12.0 < version < 10.13.4

In 5412beb63386, I asserted (via my code) that the kern.osproductversion
sysctl was introduced in 10.12.0, but this was utterly wrong. It’s not
available until 10.13.4. Compare 10.13.3
xnu-4570.41.2/bsd/kern/kern_sysctl.c to 10.13.4
xnu-4570.51.1/bsd/kern/kern_sysctl.c, look for osproductversion.

https://pbs.twimg.com/media/EU0GDTVU4AY73KC.jpg

Failures appeared starting at
https://ci.chromium.org/p/chromium/builders/ci/Mac10.12%20Tests/37499
(https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8869605548532164608/+/steps/crashpad_tests_on_Intel_GPU_on_Mac_on_Mac-10.12.6/0/stdout).

This fixes expectations to not require kern.osproductversion to exist
until 10.13.4.

VM-tested on 10.12.6, 10.13.3, 10.13.4, and 10.14.0.

Bug: crashpad:347
Test: crashpad_util_test MacUtil.MacOSVersionNumber
Change-Id: Ic58d8ca8f04394d41c691dd2d946c59497ee71d5
Reviewed-on: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2402248
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
5 files changed
tree: 915a7243a4667a28e163f7db5e59918e8ddd2248
  1. .clang-format
  2. .gitattributes
  3. .gitignore
  4. .gn
  5. .style.yapf
  6. .vpython
  7. AUTHORS
  8. BUILD.gn
  9. CONTRIBUTORS
  10. DEPS
  11. LICENSE
  12. README.md
  13. build/
  14. client/
  15. codereview.settings
  16. compat/
  17. crashpad.gyp
  18. doc/
  19. handler/
  20. infra/
  21. minidump/
  22. navbar.md
  23. package.h
  24. snapshot/
  25. test/
  26. third_party/
  27. tools/
  28. util/
README.md

Crashpad

Crashpad is a crash-reporting system.

Documentation

Source Code

Crashpad’s source code is hosted in a Git repository at https://chromium.googlesource.com/crashpad/crashpad.

Other Links