//! ref: composer/src/Composer/Util/Platform.php
use std::sync::Mutex;
use anyhow::Result;
use shirabe_external_packages::composer::pcre::preg::Preg;
use shirabe_php_shim::{
defined, env_contains_key, env_get, env_set, env_unset, file_exists, file_get_contents,
fopen, fstat, function_exists, getcwd, getenv, in_array, ini_get, is_array, is_readable,
mb_strlen, posix_geteuid, posix_getpwuid, posix_getuid, posix_isatty, putenv, realpath,
server_argv, server_contains_key, server_get, server_set, server_unset, stream_isatty,
stripos, strlen, strtoupper, substr, usleep, PhpMixed, RuntimeException,
};
use crate::util::process_executor::ProcessExecutor;
use crate::util::silencer::Silencer;
/// Platform helper for uniform platform-specific tests.
pub struct Platform;
static IS_VIRTUAL_BOX_GUEST: Mutex