[v2] resolv: Remove bogus targets that build ga_test

Message ID 20171020052128.7139-1-hawkinsw@borlaugic.com
State New, archived
Headers

Commit Message

Will Hawkins Oct. 20, 2017, 5:21 a.m. UTC
  Per Mr. O'Donell's suggestion/feedback, I am sending a v2 of this very
simple patch that will remove the resolv/ga_test target and also remove the
resolv/ga_test.c source file. 

Again, I am trying to follow all the rules for the proper formatting
of patches and I hope that I did it correctly. Please let me know if
I did not. 

Thanks again for all the work that everyone does for the community!

Will

--- commit msg:
Remove the bogus targets (and source) that supposedly build ga_test.
This code was added to resolv very early in the development process
but does not appear to be an actual test program. The target for
building this file is tests but because the glibc Make system is
built the way it is, the target is overriden by higher-level tests
targets and, therefore, the ga_test program is never built. Removing
the target and the source code makes the resolv/Makefile less confusing.

Tested by building and running 'make check' on 64 bit host running 
Kernel 4.10.0-19 configured with
 --prefix=/home/hawkinsw/code/glibc-build/install
 --enable-hardcoded-path-in-tests
 --disable-mathvec
---

2017-10-13  Will Hawkins <hawkinsw@borlaugic.com>

	* resolv/Makefile: Remove bogus targets that build resolv/ga_test
	and resolv/ga_test.c itself.

diff --git a/resolv/ga_test.c b/resolv/ga_test.c
deleted file mode 100644
index 673162f015..0000000000
+++ /dev/null
@@ -1,99 +0,0 @@
-#include <arpa/inet.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#include <signal.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-
-int
-main (void)
-{
-#define N 10
-  struct gaicb reqmem[N];
-  struct gaicb *req[N];
-  int n;
-
-  for (n = 0; n < N; ++n)
-    {
-      asprintf (&reqmem[n].ar_name, "test%d.test.redhat.com", 140 + n);
-      reqmem[n].ar_service = NULL;
-      reqmem[n].ar_request = NULL;
-      reqmem[n].ar_result = NULL;
-      req[n] = &reqmem[n];
-    }
-
-  if (getaddrinfo_a (GAI_NOWAIT, req, N, NULL) != 0)
-    {
-      puts ("queue call failed");
-      exit (1);
-    }
-  else
-    puts ("queue call successful");
-
-  while (1)
-    {
-      int any = 0;
-
-      for (n = 0; n < N; ++n)
-	if (req[n] != NULL && gai_error (req[n]) != EAI_INPROGRESS)
-	  {
-	    if (gai_error (req[n]) == 0)
-	      {
-		struct addrinfo *runp = req[n]->ar_result;
-
-		while (runp != NULL)
-		  {
-		    switch (runp->ai_family)
-		      {
-		      case PF_INET:
-			{
-			  struct sockaddr_in *sinp;
-
-			  sinp = (struct sockaddr_in *) runp->ai_addr;
-			  printf ("%2d: %s = %s\n", n,
-				  req[n]->ar_name, inet_ntoa (sinp->sin_addr));
-			}
-			break;
-		      default:
-			printf ("%2d: family %d\n", n, runp->ai_family);
-			break;
-		      }
-		    runp = runp->ai_next;
-		  }
-	      }
-	    else
-	      printf ("error for %d: %s\n", n,
-		      gai_strerror (gai_error (req[n])));
-	    req[n] = NULL;
-	    break;
-	  }
-	else if (req[n] != NULL)
-	  any = 1;
-
-      if (n == N)
-	{
-	  if (any)
-	    gai_suspend (req, N, NULL);
-	  else
-	    break;
-	}
-    }
-
-  __libc_write(1,"got all\n", 8);
-
-  for (n = 0; n < N; ++n)
-    if (gai_error (&reqmem[n]) == 0)
-      {
-	struct addrinfo *runp = reqmem[n].ar_result;
-
-	while (runp != NULL)
-	  {
-	    struct addrinfo *oldp = runp;
-	    runp = runp->ai_next;
-	    freeaddrinfo (oldp);
-	  }
-      }
-
-  return 0;
-}
  

Comments

Carlos O'Donell Oct. 20, 2017, 4:29 p.m. UTC | #1
On 10/19/2017 10:21 PM, hawkinsw@borlaugic.com wrote:
> Per Mr. O'Donell's suggestion/feedback, I am sending a v2 of this very
> simple patch that will remove the resolv/ga_test target and also remove the
> resolv/ga_test.c source file. 
> 
> Again, I am trying to follow all the rules for the proper formatting
> of patches and I hope that I did it correctly. Please let me know if
> I did not. 
> 
> Thanks again for all the work that everyone does for the community!
> 
> Will
> 
> --- commit msg:
> Remove the bogus targets (and source) that supposedly build ga_test.
> This code was added to resolv very early in the development process
> but does not appear to be an actual test program. The target for
> building this file is tests but because the glibc Make system is
> built the way it is, the target is overriden by higher-level tests
> targets and, therefore, the ga_test program is never built. Removing
> the target and the source code makes the resolv/Makefile less confusing.
> 
> Tested by building and running 'make check' on 64 bit host running 
> Kernel 4.10.0-19 configured with
>  --prefix=/home/hawkinsw/code/glibc-build/install
>  --enable-hardcoded-path-in-tests
>  --disable-mathvec
> ---
> 
> 2017-10-13  Will Hawkins <hawkinsw@borlaugic.com>
> 
> 	* resolv/Makefile: Remove bogus targets that build resolv/ga_test
> 	and resolv/ga_test.c itself.

Looks good to me!

Testing was clean.

I've committed this for you.

I rewrote your ChangeLog entry, to focus on what was being changed, 
and used some [] to denote context () to denote which target was 
changed, and listed the removed file. Don't worry too much about it,
sometimes copying examples is the best way to write one.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
  

Patch

diff --git a/resolv/Makefile b/resolv/Makefile
index cb082d9872..0f1fcc1014 100644
--- a/resolv/Makefile
+++ b/resolv/Makefile
@@ -101,10 +101,6 @@  routines                += $(libnss_dns-routines) $(libresolv-routines)
 static-only-routines    += $(libnss_dns-routines) $(libresolv-routines)
 endif
 
-ifeq (yesyes,$(build-shared)$(have-thread-library))
-tests: $(objpfx)ga_test
-endif
-
 ifeq ($(run-built-tests),yes)
 ifneq (no,$(PERL))
 tests-special += $(objpfx)mtrace-tst-leaks.out
@@ -134,8 +130,6 @@  $(objpfx)libnss_dns.so: $(objpfx)libresolv.so
 # The asynchronous name lookup code needs the thread library.
 $(objpfx)libanl.so: $(shared-thread-library)
 
-$(objpfx)ga_test: $(objpfx)libanl.so $(shared-thread-library)
-
 $(objpfx)tst-res_hconf_reorder: $(libdl) $(shared-thread-library)
 tst-res_hconf_reorder-ENV = RESOLV_REORDER=on