Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add additional interface flags (IFF_) #761

Merged
merged 5 commits into from
Sep 12, 2017

Conversation

NoraCodes
Copy link
Contributor

Adds the three missing IFF_ constants (IFF_LOWER_UP, IFF_DORMANT, and IFF_ECHO) per nix-rust/nix#764

@alexcrichton
Copy link
Member

Looks like CI is failing?

@NoraCodes
Copy link
Contributor Author

OK. At this point I don't understand why the build is failing, some help would be appreciated.

@semarie
Copy link
Contributor

semarie commented Sep 10, 2017

it is failing because the C part (of the test) doesn't found the IFF_ values you added.

it could be just a missing C header in the test program.

If so, you need to update libc-test/build.rs to make it to add the right #include <...> in order to get the value from C include.

The test will use them to check the accuracy of the Rust definition.

@NoraCodes
Copy link
Contributor Author

Thanks @semarie. Upon adding linux/if.h (the appropriate file), I get approximately a bazillion "error: redefinition of struct x" errors, because linux/if.h and net/if.h are redundant in many respects. However, making the two mutually exclusive results in:

OPT_LEVEL = Some("0")
HOST = Some("x86_64-unknown-linux-gnu")
HOST = Some("x86_64-unknown-linux-gnu")
CC_x86_64-unknown-linux-gnu = None
CC_x86_64_unknown_linux_gnu = None
HOST_CC = None
CC = None
HOST = Some("x86_64-unknown-linux-gnu")
HOST = Some("x86_64-unknown-linux-gnu")
CFLAGS_x86_64-unknown-linux-gnu = None
CFLAGS_x86_64_unknown_linux_gnu = None
HOST_CFLAGS = None
CFLAGS = None
DEBUG = Some("true")
running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-m64" "-Wall" "-Wextra" "-Werror" "-Wno-unused-parameter" "-Wno-type-limits" "-Wno-deprecated-declarations" "-D_GNU_SOURCE" "-Wall" "-Wextra" "-o" "/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.o" "-c" "/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c"
cargo:warning=In file included from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:17:0:
cargo:warning=/usr/include/linux/if.h:234:19: error: field ‘ifru_addr’ has incomplete type
cargo:warning=   struct sockaddr ifru_addr;
cargo:warning=                   ^~~~~~~~~
cargo:warning=/usr/include/linux/if.h:235:19: error: field ‘ifru_dstaddr’ has incomplete type
cargo:warning=   struct sockaddr ifru_dstaddr;
cargo:warning=                   ^~~~~~~~~~~~
cargo:warning=/usr/include/linux/if.h:236:19: error: field ‘ifru_broadaddr’ has incomplete type
cargo:warning=   struct sockaddr ifru_broadaddr;
cargo:warning=                   ^~~~~~~~~~~~~~
cargo:warning=/usr/include/linux/if.h:237:19: error: field ‘ifru_netmask’ has incomplete type
cargo:warning=   struct sockaddr ifru_netmask;
cargo:warning=                   ^~~~~~~~~~~~
cargo:warning=/usr/include/linux/if.h:238:20: error: field ‘ifru_hwaddr’ has incomplete type
cargo:warning=   struct  sockaddr ifru_hwaddr;
cargo:warning=                    ^~~~~~~~~~~
cargo:warning=In file included from /usr/include/netdb.h:27:0,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:18:
cargo:warning=/usr/include/linux/in.h:28:3: error: redeclaration of enumerator ‘IPPROTO_IP’
cargo:warning=   IPPROTO_IP = 0,  /* Dummy protocol for TCP  */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:42:5: note: previous definition of ‘IPPROTO_IP’ was here
cargo:warning=     IPPROTO_IP = 0,    /* Dummy protocol for TCP.  */
cargo:warning=     ^~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:30:3: error: redeclaration of enumerator ‘IPPROTO_ICMP’
cargo:warning=   IPPROTO_ICMP = 1,  /* Internet Control Message Protocol */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:44:5: note: previous definition of ‘IPPROTO_ICMP’ was here
cargo:warning=     IPPROTO_ICMP = 1,    /* Internet Control Message Protocol.  */
cargo:warning=     ^~~~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:32:3: error: redeclaration of enumerator ‘IPPROTO_IGMP’
cargo:warning=   IPPROTO_IGMP = 2,  /* Internet Group Management Protocol */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:46:5: note: previous definition of ‘IPPROTO_IGMP’ was here
cargo:warning=     IPPROTO_IGMP = 2,    /* Internet Group Management Protocol. */
cargo:warning=     ^~~~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:34:3: error: redeclaration of enumerator ‘IPPROTO_IPIP’
cargo:warning=   IPPROTO_IPIP = 4,  /* IPIP tunnels (older KA9Q tunnels use 94) */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:48:5: note: previous definition of ‘IPPROTO_IPIP’ was here
cargo:warning=     IPPROTO_IPIP = 4,    /* IPIP tunnels (older KA9Q tunnels use 94).  */
cargo:warning=     ^~~~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:36:3: error: redeclaration of enumerator ‘IPPROTO_TCP’
cargo:warning=   IPPROTO_TCP = 6,  /* Transmission Control Protocol */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:50:5: note: previous definition of ‘IPPROTO_TCP’ was here
cargo:warning=     IPPROTO_TCP = 6,    /* Transmission Control Protocol.  */
cargo:warning=     ^~~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:38:3: error: redeclaration of enumerator ‘IPPROTO_EGP’
cargo:warning=   IPPROTO_EGP = 8,  /* Exterior Gateway Protocol  */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:52:5: note: previous definition of ‘IPPROTO_EGP’ was here
cargo:warning=     IPPROTO_EGP = 8,    /* Exterior Gateway Protocol.  */
cargo:warning=     ^~~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:40:3: error: redeclaration of enumerator ‘IPPROTO_PUP’
cargo:warning=   IPPROTO_PUP = 12,  /* PUP protocol    */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:54:5: note: previous definition of ‘IPPROTO_PUP’ was here
cargo:warning=     IPPROTO_PUP = 12,    /* PUP protocol.  */
cargo:warning=     ^~~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:42:3: error: redeclaration of enumerator ‘IPPROTO_UDP’
cargo:warning=   IPPROTO_UDP = 17,  /* User Datagram Protocol  */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:56:5: note: previous definition of ‘IPPROTO_UDP’ was here
cargo:warning=     IPPROTO_UDP = 17,    /* User Datagram Protocol.  */
cargo:warning=     ^~~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:44:3: error: redeclaration of enumerator ‘IPPROTO_IDP’
cargo:warning=   IPPROTO_IDP = 22,  /* XNS IDP protocol   */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:58:5: note: previous definition of ‘IPPROTO_IDP’ was here
cargo:warning=     IPPROTO_IDP = 22,    /* XNS IDP protocol.  */
cargo:warning=     ^~~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:46:3: error: redeclaration of enumerator ‘IPPROTO_TP’
cargo:warning=   IPPROTO_TP = 29,  /* SO Transport Protocol Class 4 */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:60:5: note: previous definition of ‘IPPROTO_TP’ was here
cargo:warning=     IPPROTO_TP = 29,    /* SO Transport Protocol Class 4.  */
cargo:warning=     ^~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:48:3: error: redeclaration of enumerator ‘IPPROTO_DCCP’
cargo:warning=   IPPROTO_DCCP = 33,  /* Datagram Congestion Control Protocol */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:62:5: note: previous definition of ‘IPPROTO_DCCP’ was here
cargo:warning=     IPPROTO_DCCP = 33,    /* Datagram Congestion Control Protocol.  */
cargo:warning=     ^~~~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:50:3: error: redeclaration of enumerator ‘IPPROTO_IPV6’
cargo:warning=   IPPROTO_IPV6 = 41,  /* IPv6-in-IPv4 tunnelling  */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:64:5: note: previous definition of ‘IPPROTO_IPV6’ was here
cargo:warning=     IPPROTO_IPV6 = 41,     /* IPv6 header.  */
cargo:warning=     ^~~~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:52:3: error: redeclaration of enumerator ‘IPPROTO_RSVP’
cargo:warning=   IPPROTO_RSVP = 46,  /* RSVP Protocol   */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:66:5: note: previous definition of ‘IPPROTO_RSVP’ was here
cargo:warning=     IPPROTO_RSVP = 46,    /* Reservation Protocol.  */
cargo:warning=     ^~~~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:54:3: error: redeclaration of enumerator ‘IPPROTO_GRE’
cargo:warning=   IPPROTO_GRE = 47,  /* Cisco GRE tunnels (rfc 1701,1702) */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:68:5: note: previous definition of ‘IPPROTO_GRE’ was here
cargo:warning=     IPPROTO_GRE = 47,    /* General Routing Encapsulation.  */
cargo:warning=     ^~~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:56:3: error: redeclaration of enumerator ‘IPPROTO_ESP’
cargo:warning=   IPPROTO_ESP = 50,  /* Encapsulation Security Payload protocol */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:70:5: note: previous definition of ‘IPPROTO_ESP’ was here
cargo:warning=     IPPROTO_ESP = 50,      /* encapsulating security payload.  */
cargo:warning=     ^~~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:58:3: error: redeclaration of enumerator ‘IPPROTO_AH’
cargo:warning=   IPPROTO_AH = 51,  /* Authentication Header protocol */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:72:5: note: previous definition of ‘IPPROTO_AH’ was here
cargo:warning=     IPPROTO_AH = 51,       /* authentication header.  */
cargo:warning=     ^~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:60:3: error: redeclaration of enumerator ‘IPPROTO_MTP’
cargo:warning=   IPPROTO_MTP = 92,  /* Multicast Transport Protocol  */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:74:5: note: previous definition of ‘IPPROTO_MTP’ was here
cargo:warning=     IPPROTO_MTP = 92,    /* Multicast Transport Protocol.  */
cargo:warning=     ^~~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:62:3: error: redeclaration of enumerator ‘IPPROTO_BEETPH’
cargo:warning=   IPPROTO_BEETPH = 94,  /* IP option pseudo header for BEET */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:76:5: note: previous definition of ‘IPPROTO_BEETPH’ was here
cargo:warning=     IPPROTO_BEETPH = 94,   /* IP option pseudo header for BEET.  */
cargo:warning=     ^~~~~~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:64:3: error: redeclaration of enumerator ‘IPPROTO_ENCAP’
cargo:warning=   IPPROTO_ENCAP = 98,  /* Encapsulation Header   */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:78:5: note: previous definition of ‘IPPROTO_ENCAP’ was here
cargo:warning=     IPPROTO_ENCAP = 98,    /* Encapsulation Header.  */
cargo:warning=     ^~~~~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:66:3: error: redeclaration of enumerator ‘IPPROTO_PIM’
cargo:warning=   IPPROTO_PIM = 103,  /* Protocol Independent Multicast */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:80:5: note: previous definition of ‘IPPROTO_PIM’ was here
cargo:warning=     IPPROTO_PIM = 103,    /* Protocol Independent Multicast.  */
cargo:warning=     ^~~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:68:3: error: redeclaration of enumerator ‘IPPROTO_COMP’
cargo:warning=   IPPROTO_COMP = 108,  /* Compression Header Protocol  */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:82:5: note: previous definition of ‘IPPROTO_COMP’ was here
cargo:warning=     IPPROTO_COMP = 108,    /* Compression Header Protocol.  */
cargo:warning=     ^~~~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:70:3: error: redeclaration of enumerator ‘IPPROTO_SCTP’
cargo:warning=   IPPROTO_SCTP = 132,  /* Stream Control Transport Protocol */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:84:5: note: previous definition of ‘IPPROTO_SCTP’ was here
cargo:warning=     IPPROTO_SCTP = 132,    /* Stream Control Transmission Protocol.  */
cargo:warning=     ^~~~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:72:3: error: redeclaration of enumerator ‘IPPROTO_UDPLITE’
cargo:warning=   IPPROTO_UDPLITE = 136, /* UDP-Lite (RFC 3828)   */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:86:5: note: previous definition of ‘IPPROTO_UDPLITE’ was here
cargo:warning=     IPPROTO_UDPLITE = 136, /* UDP-Lite protocol.  */
cargo:warning=     ^~~~~~~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:74:3: error: redeclaration of enumerator ‘IPPROTO_MPLS’
cargo:warning=   IPPROTO_MPLS = 137,  /* MPLS in IP (RFC 4023)  */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:88:5: note: previous definition of ‘IPPROTO_MPLS’ was here
cargo:warning=     IPPROTO_MPLS = 137,    /* MPLS in IP.  */
cargo:warning=     ^~~~~~~~~~~~
cargo:warning=/usr/include/linux/in.h:76:3: error: redeclaration of enumerator ‘IPPROTO_RAW’
cargo:warning=   IPPROTO_RAW = 255,  /* Raw IP packets   */
cargo:warning=   ^
cargo:warning=/usr/include/netinet/in.h:90:5: note: previous definition of ‘IPPROTO_RAW’ was here
cargo:warning=     IPPROTO_RAW = 255,    /* Raw IP packets.  */
cargo:warning=     ^~~~~~~~~~~
cargo:warning=In file included from /usr/include/linux/netfilter.h:7:0,
cargo:warning=                 from /usr/include/linux/netfilter_ipv4.h:8,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:89:
cargo:warning=/usr/include/linux/in.h:78:3: error: redeclaration of enumerator ‘IPPROTO_MAX’
cargo:warning=   IPPROTO_MAX
cargo:warning=   ^~~~~~~~~~~
cargo:warning=In file included from /usr/include/netdb.h:27:0,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:18:
cargo:warning=/usr/include/netinet/in.h:92:5: note: previous definition of ‘IPPROTO_MAX’ was here
cargo:warning=     IPPROTO_MAX
cargo:warning=     ^~~~~~~~~~~
cargo:warning=In file included from /usr/include/linux/netfilter.h:7:0,
cargo:warning=                 from /usr/include/linux/netfilter_ipv4.h:8,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:89:
cargo:warning=/usr/include/linux/in.h:84:8: error: redefinition of ‘struct in_addr’
cargo:warning= struct in_addr {
cargo:warning=        ^~~~~~~
cargo:warning=In file included from /usr/include/netdb.h:27:0,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:18:
cargo:warning=/usr/include/netinet/in.h:31:8: note: originally defined here
cargo:warning= struct in_addr
cargo:warning=        ^~~~~~~
cargo:warning=In file included from /usr/include/linux/netfilter.h:7:0,
cargo:warning=                 from /usr/include/linux/netfilter_ipv4.h:8,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:89:
cargo:warning=/usr/include/linux/in.h:167:8: error: redefinition of ‘struct ip_mreq’
cargo:warning= struct ip_mreq  {
cargo:warning=        ^~~~~~~
cargo:warning=In file included from /usr/include/netdb.h:27:0,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:18:
cargo:warning=/usr/include/netinet/in.h:266:8: note: originally defined here
cargo:warning= struct ip_mreq
cargo:warning=        ^~~~~~~
cargo:warning=In file included from /usr/include/linux/netfilter.h:7:0,
cargo:warning=                 from /usr/include/linux/netfilter_ipv4.h:8,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:89:
cargo:warning=/usr/include/linux/in.h:172:8: error: redefinition of ‘struct ip_mreqn’
cargo:warning= struct ip_mreqn {
cargo:warning=        ^~~~~~~~
cargo:warning=In file included from /usr/include/netinet/in.h:37:0,
cargo:warning=                 from /usr/include/netdb.h:27,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:18:
cargo:warning=/usr/include/x86_64-linux-gnu/bits/in.h:148:8: note: originally defined here
cargo:warning= struct ip_mreqn
cargo:warning=        ^~~~~~~~
cargo:warning=In file included from /usr/include/linux/netfilter.h:7:0,
cargo:warning=                 from /usr/include/linux/netfilter_ipv4.h:8,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:89:
cargo:warning=/usr/include/linux/in.h:178:8: error: redefinition of ‘struct ip_mreq_source’
cargo:warning= struct ip_mreq_source {
cargo:warning=        ^~~~~~~~~~~~~~
cargo:warning=In file included from /usr/include/netdb.h:27:0,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:18:
cargo:warning=/usr/include/netinet/in.h:275:8: note: originally defined here
cargo:warning= struct ip_mreq_source
cargo:warning=        ^~~~~~~~~~~~~~
cargo:warning=In file included from /usr/include/linux/netfilter.h:7:0,
cargo:warning=                 from /usr/include/linux/netfilter_ipv4.h:8,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:89:
cargo:warning=/usr/include/linux/in.h:184:8: error: redefinition of ‘struct ip_msfilter’
cargo:warning= struct ip_msfilter {
cargo:warning=        ^~~~~~~~~~~
cargo:warning=In file included from /usr/include/netdb.h:27:0,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:18:
cargo:warning=/usr/include/netinet/in.h:325:8: note: originally defined here
cargo:warning= struct ip_msfilter
cargo:warning=        ^~~~~~~~~~~
cargo:warning=In file included from /usr/include/linux/netfilter.h:7:0,
cargo:warning=                 from /usr/include/linux/netfilter_ipv4.h:8,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:89:
cargo:warning=/usr/include/linux/in.h:196:8: error: redefinition of ‘struct group_req’
cargo:warning= struct group_req {
cargo:warning=        ^~~~~~~~~
cargo:warning=In file included from /usr/include/netdb.h:27:0,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:18:
cargo:warning=/usr/include/netinet/in.h:302:8: note: originally defined here
cargo:warning= struct group_req
cargo:warning=        ^~~~~~~~~
cargo:warning=In file included from /usr/include/linux/netfilter.h:7:0,
cargo:warning=                 from /usr/include/linux/netfilter_ipv4.h:8,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:89:
cargo:warning=/usr/include/linux/in.h:201:8: error: redefinition of ‘struct group_source_req’
cargo:warning= struct group_source_req {
cargo:warning=        ^~~~~~~~~~~~~~~~
cargo:warning=In file included from /usr/include/netdb.h:27:0,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:18:
cargo:warning=/usr/include/netinet/in.h:311:8: note: originally defined here
cargo:warning= struct group_source_req
cargo:warning=        ^~~~~~~~~~~~~~~~
cargo:warning=In file included from /usr/include/linux/netfilter.h:7:0,
cargo:warning=                 from /usr/include/linux/netfilter_ipv4.h:8,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:89:
cargo:warning=/usr/include/linux/in.h:207:8: error: redefinition of ‘struct group_filter’
cargo:warning= struct group_filter {
cargo:warning=        ^~~~~~~~~~~~
cargo:warning=In file included from /usr/include/netdb.h:27:0,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:18:
cargo:warning=/usr/include/netinet/in.h:346:8: note: originally defined here
cargo:warning= struct group_filter
cargo:warning=        ^~~~~~~~~~~~
cargo:warning=In file included from /usr/include/linux/netfilter.h:7:0,
cargo:warning=                 from /usr/include/linux/netfilter_ipv4.h:8,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:89:
cargo:warning=/usr/include/linux/in.h:221:8: error: redefinition of ‘struct in_pktinfo’
cargo:warning= struct in_pktinfo {
cargo:warning=        ^~~~~~~~~~
cargo:warning=In file included from /usr/include/netinet/in.h:37:0,
cargo:warning=                 from /usr/include/netdb.h:27,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:18:
cargo:warning=/usr/include/x86_64-linux-gnu/bits/in.h:156:8: note: originally defined here
cargo:warning= struct in_pktinfo
cargo:warning=        ^~~~~~~~~~
cargo:warning=In file included from /usr/include/linux/netfilter.h:7:0,
cargo:warning=                 from /usr/include/linux/netfilter_ipv4.h:8,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:89:
cargo:warning=/usr/include/linux/in.h:231:8: error: redefinition of ‘struct sockaddr_in’
cargo:warning= struct sockaddr_in {
cargo:warning=        ^~~~~~~~~~~
cargo:warning=In file included from /usr/include/netinet/in.h:23:0,
cargo:warning=                 from /usr/include/netdb.h:27,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:18:
cargo:warning=/usr/include/x86_64-linux-gnu/sys/socket.h:90:17: note: originally defined here
cargo:warning= typedef union { __SOCKADDR_ALLTYPES
cargo:warning=                 ^
cargo:warning=In file included from /usr/include/linux/netfilter.h:8:0,
cargo:warning=                 from /usr/include/linux/netfilter_ipv4.h:8,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:89:
cargo:warning=/usr/include/linux/in6.h:32:8: error: redefinition of ‘struct in6_addr’
cargo:warning= struct in6_addr {
cargo:warning=        ^~~~~~~~
cargo:warning=In file included from /usr/include/netdb.h:27:0,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:18:
cargo:warning=/usr/include/netinet/in.h:211:8: note: originally defined here
cargo:warning= struct in6_addr
cargo:warning=        ^~~~~~~~
cargo:warning=In file included from /usr/include/linux/netfilter.h:8:0,
cargo:warning=                 from /usr/include/linux/netfilter_ipv4.h:8,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:89:
cargo:warning=/usr/include/linux/in6.h:49:8: error: redefinition of ‘struct sockaddr_in6’
cargo:warning= struct sockaddr_in6 {
cargo:warning=        ^~~~~~~~~~~~
cargo:warning=In file included from /usr/include/netinet/in.h:23:0,
cargo:warning=                 from /usr/include/netdb.h:27,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:18:
cargo:warning=/usr/include/x86_64-linux-gnu/sys/socket.h:90:17: note: originally defined here
cargo:warning= typedef union { __SOCKADDR_ALLTYPES
cargo:warning=                 ^
cargo:warning=In file included from /usr/include/linux/netfilter.h:8:0,
cargo:warning=                 from /usr/include/linux/netfilter_ipv4.h:8,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:89:
cargo:warning=/usr/include/linux/in6.h:59:8: error: redefinition of ‘struct ipv6_mreq’
cargo:warning= struct ipv6_mreq {
cargo:warning=        ^~~~~~~~~
cargo:warning=In file included from /usr/include/netdb.h:27:0,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:18:
cargo:warning=/usr/include/netinet/in.h:290:8: note: originally defined here
cargo:warning= struct ipv6_mreq
cargo:warning=        ^~~~~~~~~
cargo:warning=In file included from /usr/include/shadow.h:30:0,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:68:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_offset_ipv6_mreq_ipv6mr_interface’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:1294:28: error: ‘struct ipv6_mreq’ has no member named ‘ipv6mr_interface’; did you mean ‘ipv6mr_ifindex’?
cargo:warning=                     return offsetof(struct ipv6_mreq, ipv6mr_interface);
cargo:warning=                            ^
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_size_ipv6_mreq_ipv6mr_interface’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:1298:38: error: ‘struct ipv6_mreq’ has no member named ‘ipv6mr_interface’; did you mean ‘ipv6mr_ifindex’?
cargo:warning=                     return sizeof(foo->ipv6mr_interface);
cargo:warning=                                      ^~
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_field_type_ipv6_mreq_ipv6mr_interface’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:1303:30: error: ‘struct ipv6_mreq’ has no member named ‘ipv6mr_interface’; did you mean ‘ipv6mr_ifindex’?
cargo:warning=                     return &b->ipv6mr_interface;
cargo:warning=                              ^~
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: At top level:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:1775:58: error: ‘IF_NAMESIZE’ undeclared here (not in a function)
cargo:warning=             static size_t __test_const_IF_NAMESIZE_val = IF_NAMESIZE;
cargo:warning=                                                          ^~~~~~~~~~~
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_fn_if_nametoindex’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:2610:24: error: ‘if_nametoindex’ undeclared (first use in this function)
cargo:warning=                 return if_nametoindex;
cargo:warning=                        ^~~~~~~~~~~~~~
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:2610:24: note: each undeclared identifier is reported only once for each function it appears in
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_fn_if_indextoname’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:2615:24: error: ‘if_indextoname’ undeclared (first use in this function)
cargo:warning=                 return if_indextoname;
cargo:warning=                        ^~~~~~~~~~~~~~
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_size_if_nameindex’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:9336:69: error: invalid application of ‘sizeof’ to incomplete type ‘struct if_nameindex’
cargo:warning=             uint64_t __test_size_if_nameindex(void) { return sizeof(struct if_nameindex); }
cargo:warning=                                                                     ^~~~~~
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_align_if_nameindex’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:9337:75: error: invalid application of ‘__alignof__’ to incomplete type ‘struct if_nameindex’
cargo:warning=             uint64_t __test_align_if_nameindex(void) { return __alignof__(struct if_nameindex); }
cargo:warning=                                                                           ^~~~~~
cargo:warning=In file included from /usr/include/shadow.h:30:0,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:68:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_offset_if_nameindex_if_index’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:9341:44: error: invalid use of undefined type ‘struct if_nameindex’
cargo:warning=                     return offsetof(struct if_nameindex, if_index);
cargo:warning=                                            ^
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_size_if_nameindex_if_index’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:9345:38: error: dereferencing pointer to incomplete type ‘struct if_nameindex’
cargo:warning=                     return sizeof(foo->if_index);
cargo:warning=                                      ^~
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: At top level:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:9349:78: error: ‘struct if_nameindex’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
cargo:warning=                 unsigned int* __test_field_type_if_nameindex_if_index(struct if_nameindex* b) {
cargo:warning=                                                                              ^~~~~~~~~~~~
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_field_type_if_nameindex_if_index’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:9350:30: error: dereferencing pointer to incomplete type ‘struct if_nameindex’
cargo:warning=                     return &b->if_index;
cargo:warning=                              ^~
cargo:warning=In file included from /usr/include/shadow.h:30:0,
cargo:warning=                 from /home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:68:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_offset_if_nameindex_if_name’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:9355:44: error: invalid use of undefined type ‘struct if_nameindex’
cargo:warning=                     return offsetof(struct if_nameindex, if_name);
cargo:warning=                                            ^
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_size_if_nameindex_if_name’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:9359:38: error: dereferencing pointer to incomplete type ‘struct if_nameindex’
cargo:warning=                     return sizeof(foo->if_name);
cargo:warning=                                      ^~
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: At top level:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:9363:70: error: ‘struct if_nameindex’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror]
cargo:warning=                 char** __test_field_type_if_nameindex_if_name(struct if_nameindex* b) {
cargo:warning=                                                                      ^~~~~~~~~~~~
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_field_type_if_nameindex_if_name’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:9364:30: error: dereferencing pointer to incomplete type ‘struct if_nameindex’
cargo:warning=                     return &b->if_name;
cargo:warning=                              ^~
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_fn_if_nameindex’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:13650:24: error: ‘if_nameindex’ undeclared (first use in this function)
cargo:warning=                 return if_nameindex;
cargo:warning=                        ^~~~~~~~~~~~
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_fn_if_freenameindex’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:13655:24: error: ‘if_freenameindex’ undeclared (first use in this function)
cargo:warning=                 return if_freenameindex;
cargo:warning=                        ^~~~~~~~~~~~~~~~
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_offset_ipv6_mreq_ipv6mr_interface’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:1295:17: error: control reaches end of non-void function [-Werror=return-type]
cargo:warning=                 }
cargo:warning=                 ^
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_size_ipv6_mreq_ipv6mr_interface’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:1299:17: error: control reaches end of non-void function [-Werror=return-type]
cargo:warning=                 }
cargo:warning=                 ^
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_field_type_ipv6_mreq_ipv6mr_interface’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:1304:17: error: control reaches end of non-void function [-Werror=return-type]
cargo:warning=                 }
cargo:warning=                 ^
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_fn_if_nametoindex’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:2611:13: error: control reaches end of non-void function [-Werror=return-type]
cargo:warning=             }
cargo:warning=             ^
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_fn_if_indextoname’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:2616:13: error: control reaches end of non-void function [-Werror=return-type]
cargo:warning=             }
cargo:warning=             ^
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_size_if_nameindex’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:9336:76: error: control reaches end of non-void function [-Werror=return-type]
cargo:warning=             uint64_t __test_size_if_nameindex(void) { return sizeof(struct if_nameindex); }
cargo:warning=                                                                            ^~~~~~~~~~~~
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_align_if_nameindex’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:9337:82: error: control reaches end of non-void function [-Werror=return-type]
cargo:warning=             uint64_t __test_align_if_nameindex(void) { return __alignof__(struct if_nameindex); }
cargo:warning=                                                                                  ^~~~~~~~~~~~
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_offset_if_nameindex_if_index’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:9342:17: error: control reaches end of non-void function [-Werror=return-type]
cargo:warning=                 }
cargo:warning=                 ^
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_size_if_nameindex_if_index’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:9346:17: error: control reaches end of non-void function [-Werror=return-type]
cargo:warning=                 }
cargo:warning=                 ^
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_field_type_if_nameindex_if_index’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:9351:17: error: control reaches end of non-void function [-Werror=return-type]
cargo:warning=                 }
cargo:warning=                 ^
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_offset_if_nameindex_if_name’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:9356:17: error: control reaches end of non-void function [-Werror=return-type]
cargo:warning=                 }
cargo:warning=                 ^
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_size_if_nameindex_if_name’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:9360:17: error: control reaches end of non-void function [-Werror=return-type]
cargo:warning=                 }
cargo:warning=                 ^
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_field_type_if_nameindex_if_name’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:9365:17: error: control reaches end of non-void function [-Werror=return-type]
cargo:warning=                 }
cargo:warning=                 ^
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_fn_if_nameindex’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:13651:13: error: control reaches end of non-void function [-Werror=return-type]
cargo:warning=             }
cargo:warning=             ^
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c: In function ‘__test_fn_if_freenameindex’:
cargo:warning=/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c:13656:13: error: control reaches end of non-void function [-Werror=return-type]
cargo:warning=             }
cargo:warning=             ^
cargo:warning=cc1: all warnings being treated as errors
exit code: 1

--- stderr
thread 'main' panicked at '

Internal error occurred: Command "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-m64" "-Wall" "-Wextra" "-Werror" "-Wno-unused-parameter" "-Wno-type-limits" "-Wno-deprecated-declarations" "-D_GNU_SOURCE" "-Wall" "-Wextra" "-o" "/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.o" "-c" "/home/leo/Projects/libc/target/debug/build/libc-test-b7707c11ed32fe9e/out/main.c" with args "cc" did not execute successfully (status code exit code: 1).

', /home/leo/.cargo/registry/src/github.aaakk.us.kg-1ecc6299db9ec823/gcc-0.3.53/src/lib.rs:1659:4
note: Run with `RUST_BACKTRACE=1` for a backtrace.

How can I resolve this?

@semarie
Copy link
Contributor

semarie commented Sep 10, 2017

it is a C (and Linux) problem. Headers had to be included in the right order. As I don't use Linux, I couldn't tell.

@Susurrus
Copy link
Contributor

Add that header to the bottom of build.rs. I added a separate test binary for dealing with things like this which is specified towards the bottom of the file. So set the main test binary to ignore these constants and then only test them in the second binary. Because the second binary doesn't have so many headers you likely won't have a problem. You can see this is done for other constants and can follow a similar pattern.

@NoraCodes
Copy link
Contributor Author

@Susurrus Thank you! I'll do that tomorrow. Much appreciated.

Also remove unneeded platform gating
@NoraCodes NoraCodes force-pushed the add_linux_iff_constants branch from 96212be to 121795e Compare September 12, 2017 14:16
@NoraCodes
Copy link
Contributor Author

Progress! It's still failing, but only on musl targets.

@NoraCodes NoraCodes force-pushed the add_linux_iff_constants branch from 4d0b775 to 6f170ef Compare September 12, 2017 17:39
@NoraCodes
Copy link
Contributor Author

All green!

@alexcrichton
Copy link
Member

@bors: r+

Thanks!

@bors
Copy link
Contributor

bors commented Sep 12, 2017

📌 Commit 6f170ef has been approved by alexcrichton

@bors
Copy link
Contributor

bors commented Sep 12, 2017

⌛ Testing commit 6f170ef with merge d5236b0...

bors added a commit that referenced this pull request Sep 12, 2017
Add additional interface flags (IFF_)

Adds the three missing IFF_ constants (IFF_LOWER_UP, IFF_DORMANT, and IFF_ECHO) per nix-rust/nix#764
@bors
Copy link
Contributor

bors commented Sep 12, 2017

☀️ Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing d5236b0 to master...

@bors bors merged commit 6f170ef into rust-lang:master Sep 12, 2017
@NoraCodes NoraCodes deleted the add_linux_iff_constants branch September 12, 2017 20:31
@@ -662,6 +665,10 @@ fn main() {
} else {
cfg.header("linux/fcntl.h");
}
if !musl {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should not have been necessary because these constants aren't tested in this binary. Only your changes to the "main" test binary should have been necessary. Did you try this PR without this change first and only added it once you saw tests failing?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants