xref: /xnu-11215.1.10/tests/test_utils.h (revision 8d741a5de7ff4191bf97d57b9f54c2f6d4a15585)
1*8d741a5dSApple OSS Distributions #ifndef XNU_DARWINTEST_UTILS_H
2*8d741a5dSApple OSS Distributions #define XNU_DARWINTEST_UTILS_H
3*8d741a5dSApple OSS Distributions 
4*8d741a5dSApple OSS Distributions #include <stdbool.h>
5*8d741a5dSApple OSS Distributions 
6*8d741a5dSApple OSS Distributions /* Misc. utility functions for writing darwintests. */
7*8d741a5dSApple OSS Distributions bool is_development_kernel(void);
8*8d741a5dSApple OSS Distributions 
9*8d741a5dSApple OSS Distributions /* Launches the given helper variant as a managed process. */
10*8d741a5dSApple OSS Distributions pid_t launch_background_helper(
11*8d741a5dSApple OSS Distributions 	const char* variant,
12*8d741a5dSApple OSS Distributions 	bool start_suspended,
13*8d741a5dSApple OSS Distributions 	bool memorystatus_managed);
14*8d741a5dSApple OSS Distributions /*
15*8d741a5dSApple OSS Distributions  * Set the process's managed bit, so that the memorystatus subsystem treats
16*8d741a5dSApple OSS Distributions  * this process like an app instead of a sysproc.
17*8d741a5dSApple OSS Distributions  */
18*8d741a5dSApple OSS Distributions void set_process_memorystatus_managed(pid_t pid);
19*8d741a5dSApple OSS Distributions 
20*8d741a5dSApple OSS Distributions #define XNU_T_META_SOC_SPECIFIC T_META_TAG("SoCSpecific")
21*8d741a5dSApple OSS Distributions 
22*8d741a5dSApple OSS Distributions #define XNU_T_META_REQUIRES_DEVELOPMENT_KERNEL T_META_REQUIRES_SYSCTL_EQ("kern.development", 1)
23*8d741a5dSApple OSS Distributions #define XNU_T_META_REQUIRES_RELEASE_KERNEL T_META_REQUIRES_SYSCTL_EQ("kern.development", 0)
24*8d741a5dSApple OSS Distributions 
25*8d741a5dSApple OSS Distributions #endif /* XNU_DARWINTEST_UTILS_H */
26