blob: a00c3557230a161d35d5d0ee35030875c56eec40 [file] [log] [blame]
// Copyright 2018 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Package vm is a package that provides a function to check if tests are running under QEMU.
package vm
import (
// isVM true if the test is running under QEMU.
var isVM bool
func init() {
const path = "/sys/devices/virtual/dmi/id/sys_vendor"
content, err := ioutil.ReadFile(path)
if err != nil {
isVM = false
vendor := strings.TrimSpace(string(content))
isVM = vendor == "QEMU"
// IsRunningOnVM returns true if the test is running under QEMU.
// Please do not use this to skip running your test entirely.
// Instead, introduce a new dependency describing the required feature:
func IsRunningOnVM() bool {
return isVM