load("@fbcode_macros//build_defs:cpp_library.bzl", "cpp_library")
load("@fbcode_macros//build_defs:cpp_unittest.bzl", "cpp_unittest")
load("@fbsource//tools/build_defs/testinfra:network_access_utils.bzl", "network_access_utils")

oncall("scm_client_infra")

cpp_library(
    name = "lib",
    srcs = [
        "FakeFileSystem.cpp",
        "FakeWatcher.cpp",
    ],
    headers = [
        "FakeFileSystem.h",
        "FakeWatcher.h",
    ],
    deps = [
        "//folly:map_util",
    ],
    exported_deps = [
        "//folly:synchronized",
        "//watchman:watcher",
        "//watchman/fs:fs",
    ],
)

cpp_unittest(
    name = "test",
    srcs = [
        "FakeFileSystemTest.cpp",
    ],
    compatible_with = [
        "ovr_config//os:linux",
        "ovr_config//os:macos",
    ],
    network_access = network_access_utils.none(),
    deps = [
        ":lib",
        "//folly/portability:gmock",
        "//folly/portability:gtest",
    ],
)
