blob: 290d3e5941e7e03e48bab6c7b1d787c45d83113e [file] [log] [blame]
// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SANDBOX_LINUX_TESTS_TEST_UTILS_H_
#define SANDBOX_LINUX_TESTS_TEST_UTILS_H_
#include <sys/types.h>
namespace sandbox {
// This class provide small helpers to help writing tests.
class TestUtils {
public:
TestUtils() = delete;
TestUtils(const TestUtils&) = delete;
TestUtils& operator=(const TestUtils&) = delete;
static bool CurrentProcessHasChildren();
// |pid| is the return value of a fork()-like call. This
// makes sure that if fork() succeeded the child exits
// and the parent waits for it.
static void HandlePostForkReturn(pid_t pid);
static void* MapPagesOrDie(size_t num_pages);
static void MprotectLastPageOrDie(char* addr, size_t num_pages);
};
} // namespace sandbox
#endif // SANDBOX_LINUX_TESTS_TEST_UTILS_H_