Skip to content

Commit 72fe537

Browse files
committed
test: musl: Skip time64-dependent API on new musl
This is all intended to be removed once the PR adding our version of `_REDIR_TIME64` lands.
1 parent 34e7583 commit 72fe537

File tree

1 file changed

+77
-0
lines changed

1 file changed

+77
-0
lines changed

libc-test/build.rs

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4744,6 +4744,83 @@ fn test_linux(target: &str) {
47444744
_ => false,
47454745
});
47464746

4747+
// FIXME(musl,time): these should be resolved with the time64 updates
4748+
if musl_v1_2_3 {
4749+
// Time primitives changed, as did structs containing them
4750+
cfg.skip_alias(|ty| match ty.ident() {
4751+
"time_t" | "suseconds_t" => true,
4752+
_ => false,
4753+
});
4754+
cfg.skip_struct(|s| match s.ident() {
4755+
"utimbuf" | "timeval" | "timespec" | "rusage" | "itimerval" | "itimerspec"
4756+
| "timex" | "ntptimeval" | "stat" | "shmid_ds" | "msqid_ds" => true,
4757+
_ => false,
4758+
});
4759+
4760+
cfg.skip_const(|c| match c.ident() {
4761+
// Changed syscall numbers under `linux_time_bits64`
4762+
"SO_TIMESTAMP" | "SO_TIMESTAMPNS" | "SO_TIMESTAMPING" | "SO_RCVTIMEO"
4763+
| "SO_SNDTIMEO" => true,
4764+
// Derived from `SO_` constants
4765+
"SCM_TIMESTAMP" | "SCM_TIMESTAMPNS" | "SCM_TIMESTAMPING" => true,
4766+
// `IPC_STAT` and derived values
4767+
"IPC_STAT" | "SEM_STAT" | "SEM_STAT_ANY" => true,
4768+
_ => false,
4769+
});
4770+
4771+
// Functions that got a new link name
4772+
cfg.skip_fn_ptrcheck(|f| match f {
4773+
"pthread_mutex_timedlock"
4774+
| "recvmmsg"
4775+
| "fstat"
4776+
| "stat"
4777+
| "fstatat"
4778+
| "nanosleep"
4779+
| "utime"
4780+
| "lstat"
4781+
| "getrusage"
4782+
| "pthread_cond_timedwait"
4783+
| "utimes"
4784+
| "dlsym"
4785+
| "gmtime_r"
4786+
| "localtime_r"
4787+
| "mktime"
4788+
| "time"
4789+
| "gmtime"
4790+
| "localtime"
4791+
| "difftime"
4792+
| "timegm"
4793+
| "select"
4794+
| "adjtime"
4795+
| "pselect"
4796+
| "clock_getres"
4797+
| "clock_gettime"
4798+
| "clock_settime"
4799+
| "futimens"
4800+
| "utimensat"
4801+
| "wait4"
4802+
| "aio_suspend"
4803+
| "futimes"
4804+
| "mq_timedreceive"
4805+
| "mq_timedsend"
4806+
| "lutimes"
4807+
| "timerfd_gettime"
4808+
| "timerfd_settime"
4809+
| "sigtimedwait"
4810+
| "settimeofday"
4811+
| "sched_rr_get_interval"
4812+
| "sem_timedwait"
4813+
| "ppoll"
4814+
| "clock_nanosleep"
4815+
| "timer_gettime"
4816+
| "timer_settime"
4817+
| "gettimeofday"
4818+
| "adjtimex"
4819+
| "clock_adjtime" => true,
4820+
_ => false,
4821+
});
4822+
}
4823+
47474824
ctest::generate_test(&mut cfg, "../src/lib.rs", "ctest_output.rs").unwrap();
47484825

47494826
test_linux_like_apis(target);

0 commit comments

Comments
 (0)