// RUN: %clangxx -O0 -g %s -o %t // Android doesn't have ttyent.h. // UNSUPPORTED: android #include #include #include #include #include #include void test1() { struct ttyent *typ = getttyent(); assert(typ && typ->ty_name != nullptr); assert(typ->ty_type != nullptr); endttyent(); } void test2() { struct ttyent *typ = getttynam("console"); assert(typ && typ->ty_name != nullptr); assert(typ->ty_type != nullptr); endttyent(); } void test3() { if (!setttyent()) exit(1); struct ttyent *typ = getttyent(); assert(typ && typ->ty_name != nullptr); assert(typ->ty_type != nullptr); endttyent(); } #if defined(__NetBSD__) void test4() { if (!setttyentpath(_PATH_TTYS)) exit(1); struct ttyent *typ = getttyent(); assert(typ && typ->ty_name != nullptr); assert(typ->ty_type != nullptr); assert(typ->ty_class != nullptr); endttyent(); } #endif int main(void) { test1(); test2(); test3(); #if defined(__NetBSD__) test4(); #endif return 0; }