14715: Fixes tests and removes PID creation
authorEric Biagiotti <ebiagiotti@veritasgenetics.com>
Wed, 7 Aug 2019 19:10:39 +0000 (15:10 -0400)
committerEric Biagiotti <ebiagiotti@veritasgenetics.com>
Wed, 7 Aug 2019 19:12:00 +0000 (15:12 -0400)
Arvados-DCO-1.1-Signed-off-by: Eric Biagiotti <ebiagiotti@veritasgenetics.com>

sdk/python/tests/run_test_server.py
services/keepproxy/keepproxy.go
services/keepproxy/keepproxy_test.go

index 0f8f1c5f818e2768168e4c71094a67c34fb4478e..cde0cefb6e8aa23c723883100c054713eb671458 100644 (file)
@@ -544,10 +544,11 @@ def run_keep_proxy():
     env['ARVADOS_API_TOKEN'] = auth_token('anonymous')
     logf = open(_logfilename('keepproxy'), 'a')
     kp = subprocess.Popen(
-        ['keepproxy',
-         '-pid='+_pidfile('keepproxy'),
-         '-listen=:{}'.format(port)],
-        env=env, stdin=open('/dev/null'), stdout=logf, stderr=logf, close_fds=True)
+        ['keepproxy'], env=env, stdin=open('/dev/null'), stdout=logf, stderr=logf, close_fds=True)
+
+    with open(_pidfile('keepproxy'), 'w') as f:
+        f.write(str(kp.pid))
+    _wait_until_port_listens(port)
 
     print("Using API %s token %s" % (os.environ['ARVADOS_API_HOST'], auth_token('admin')), file=sys.stdout)
     api = arvados.api(
index e4e54040f2282cac9a3434273b546f5d67bb1bbc..f75079565b1b084e13966ec776b8e1e19a6c230d 100644 (file)
@@ -117,30 +117,6 @@ func main() {
        }
        keepclient.RefreshServiceDiscoveryOnSIGHUP()
 
-       pidFile := "keepproxy"
-       f, err := os.Create(pidFile)
-       if err != nil {
-               log.Fatal(err)
-       }
-       defer f.Close()
-       err = syscall.Flock(int(f.Fd()), syscall.LOCK_EX|syscall.LOCK_NB)
-       if err != nil {
-               log.Fatalf("flock(%s): %s", pidFile, err)
-       }
-       defer os.Remove(pidFile)
-       err = f.Truncate(0)
-       if err != nil {
-               log.Fatalf("truncate(%s): %s", pidFile, err)
-       }
-       _, err = fmt.Fprint(f, os.Getpid())
-       if err != nil {
-               log.Fatalf("write(%s): %s", pidFile, err)
-       }
-       err = f.Sync()
-       if err != nil {
-               log.Fatalf("sync(%s): %s", pidFile, err)
-       }
-
        if cluster.Collections.DefaultReplication > 0 {
                kc.Want_replicas = cluster.Collections.DefaultReplication
        }
@@ -151,7 +127,7 @@ func main() {
        }
        listener, err := net.Listen("tcp", listen.Host)
        if err != nil {
-               log.Fatalf("listen(%s): %s", listen, err)
+               log.Fatalf("listen(%s): %s", listen.Host, err)
        }
 
        if _, err := daemon.SdNotify(false, "READY=1"); err != nil {
index dc70d968e2992a16581694ac70bbf42ba92f93ba..440bf5b8a6110a331a175b26795f479a02016c15 100644 (file)
@@ -218,7 +218,7 @@ func (s *ServerRequiredSuite) TestPutWrongContentLength(c *C) {
        // fixes the invalid Content-Length header. In order to test
        // our server behavior, we have to call the handler directly
        // using an httptest.ResponseRecorder.
-       rtr := MakeRESTRouter(true, true, kc, 10*time.Second, "")
+       rtr := MakeRESTRouter(kc, 10*time.Second, "")
 
        type testcase struct {
                sendLength   string
@@ -375,57 +375,6 @@ func (s *ServerRequiredSuite) TestPutAskGetForbidden(c *C) {
 
 }
 
-func (s *ServerRequiredSuite) TestGetDisabled(c *C) {
-       kc := runProxy(c, []string{"-no-get"}, false)
-       defer closeListener()
-
-       hash := fmt.Sprintf("%x", md5.Sum([]byte("baz")))
-
-       {
-               _, _, err := kc.Ask(hash)
-               errNotFound, _ := err.(keepclient.ErrNotFound)
-               c.Check(errNotFound, NotNil)
-               c.Assert(err, ErrorMatches, `.*HTTP 405.*`)
-               c.Log("Ask 1")
-       }
-
-       {
-               hash2, rep, err := kc.PutB([]byte("baz"))
-               c.Check(hash2, Matches, fmt.Sprintf(`^%s\+3(\+.+)?$`, hash))
-               c.Check(rep, Equals, 2)
-               c.Check(err, Equals, nil)
-               c.Log("PutB")
-       }
-
-       {
-               blocklen, _, err := kc.Ask(hash)
-               errNotFound, _ := err.(keepclient.ErrNotFound)
-               c.Check(errNotFound, NotNil)
-               c.Assert(err, ErrorMatches, `.*HTTP 405.*`)
-               c.Check(blocklen, Equals, int64(0))
-               c.Log("Ask 2")
-       }
-
-       {
-               _, blocklen, _, err := kc.Get(hash)
-               errNotFound, _ := err.(keepclient.ErrNotFound)
-               c.Check(errNotFound, NotNil)
-               c.Assert(err, ErrorMatches, `.*HTTP 405.*`)
-               c.Check(blocklen, Equals, int64(0))
-               c.Log("Get")
-       }
-}
-
-func (s *ServerRequiredSuite) TestPutDisabled(c *C) {
-       kc := runProxy(c, []string{"-no-put"}, false)
-       defer closeListener()
-
-       hash2, rep, err := kc.PutB([]byte("quux"))
-       c.Check(hash2, Equals, "")
-       c.Check(rep, Equals, 0)
-       c.Check(err, FitsTypeOf, keepclient.InsufficientReplicasError(errors.New("")))
-}
-
 func (s *ServerRequiredSuite) TestCorsHeaders(c *C) {
        runProxy(c, nil, false)
        defer closeListener()
@@ -666,7 +615,7 @@ func (s *ServerRequiredSuite) TestPing(c *C) {
        kc := runProxy(c, nil, false)
        defer closeListener()
 
-       rtr := MakeRESTRouter(true, true, kc, 10*time.Second, arvadostest.ManagementToken)
+       rtr := MakeRESTRouter(kc, 10*time.Second, arvadostest.ManagementToken)
 
        req, err := http.NewRequest("GET",
                "http://"+listener.Addr().String()+"/_health/ping",