static String determineOperatingSystemCompleteName() {
        try {
            useAgentTmpDirIfNecessary();
            OperatingSystem os = newSystemInfo().getOperatingSystem();
            return String.format("%s %s%s",
                os.getFamily(),
                os.getVersionInfo().getVersion(),
                optionalFrom(os.getVersionInfo().getCodeName()).map(s -> " (" + s + ")").orElse("")
            );
        } catch (Exception e) {
            LOG.warn("Unable to determine OS platform from native, falling back to default", e);
            return new SystemEnvironment().getOperatingSystemFamilyJvmName();
        }
    }
@Test
    public void shouldFallbackToJvmFamilyOnLibraryError() {
        try (MockedStatic<SystemInfo> systemInfo = mockStatic(SystemInfo.class, Answers.CALLS_REAL_METHODS)) {
            systemInfo.when(SystemInfo::newSystemInfo).thenThrow(new IllegalArgumentException("Cannot determine OS"));

            assertThat(SystemInfo.determineOperatingSystemCompleteName()).isEqualTo(new SystemEnvironment().getOperatingSystemFamilyJvmName());
        }
    }