Exemple #1
0
    def testSendfile3(self):
        fd = open(__file__)

        a, b = self._pair2()
        n = sendfile(fd.fileno(), a.fileno(), 0, 1)
        b.recv(1)
        b.close()
        try:
            n = sendfile(fd.fileno(), a.fileno(), 0, 1)
        except OSError, e:
            self.assertTrue(e.errno in (errno.ENOTCONN, errno.EPIPE)) # linux will throw EPIPE
Exemple #2
0
    def testSendfile3(self):
        fd = open(__file__)

        a, b = self._pair2()
        n = sendfile(fd.fileno(), a.fileno(), 0, 1)
        b.recv(1)
        b.close()
        try:
            n = sendfile(fd.fileno(), a.fileno(), 0, 1)
        except OSError, e:
            self.assertTrue(e.errno in (errno.ENOTCONN,
                                        errno.EPIPE))  # linux will throw EPIPE
Exemple #3
0
    def testSendfile1(self):
        fd = open(__file__)
        data = fd.read()
        a, b = self._pair2()
        n = sendfile(fd.fileno(), a.fileno(), 0, 42)
        self.assertEquals(n, 42)
        self.assertEquals(data[:42], b.recv(1024))

        n = sendfile(fd.fileno(), b.fileno(), len(data) - 10, 42)
        self.assertEquals(n, 10)
        self.assertEquals(data[len(data) - 10:], a.recv(1024))

        n = sendfile(fd.fileno(), b.fileno(), len(data), 42)
        self.assertEquals(n, 0)
        fd.close()
Exemple #4
0
    def testSendfile1(self):
        fd = open(__file__)
        data = fd.read()
        a, b = self._pair2()
        n = sendfile(fd.fileno(), a.fileno(), 0, 42)
        self.assertEquals(n, 42)
        self.assertEquals(data[:42], b.recv(1024))

        n = sendfile(fd.fileno(), b.fileno(), len(data) - 10, 42)
        self.assertEquals(n, 10)
        self.assertEquals(data[len(data) - 10:], a.recv(1024))

        n = sendfile(fd.fileno(), b.fileno(), len(data), 42)
        self.assertEquals(n, 0)
        fd.close()
Exemple #5
0
 def testSendfileZero(self):
     a, b = self._pair2()
     fd = open(__file__)
     data = fd.read()
     n = sendfile(fd.fileno(), b.fileno(), 0, 0)
     self.assertTrue(n > 0)
     self.assertEquals(data[:n], a.recv(n + 1024))
Exemple #6
0
 def testSendfileZero(self):
     a, b = self._pair2()
     fd = open(__file__)
     data = fd.read()
     n = sendfile(fd.fileno(), b.fileno(), 0, 0)
     self.assertTrue(n > 0)
     self.assertEquals(data[:n], a.recv(n + 1024))
Exemple #7
0
 def testSendfile4(self):
     fd = open(__file__)
     a, b = self._pair2()
     total = os.fstat(fd.fileno()).st_size
     while True:
         try:
             n = sendfile(fd.fileno(), a.fileno(), 0, total)
             self.assertTrue(n > 0)
         except OSError, e:
             self.assertEquals(e.errno, errno.EAGAIN)
             break
Exemple #8
0
        def testSendfileHeaders(self):
            fd = open(__file__)
            data = fd.read(10)
            dataM = 'XX' + data + 'YY'
            a, b = self._pair2()
            n = sendfile(fd.fileno(), a.fileno(), 0, 10, ['XX'], ['YY'])

            output = b.recv(1024)
            self.assertEquals(n, len(output))
            self.assertEquals(n, len(dataM))
            self.assertEquals(dataM, output)
Exemple #9
0
 def testSendfile4(self):
     fd = open(__file__)
     a, b = self._pair2()
     total = os.fstat(fd.fileno()).st_size
     while True:
         try:
             n = sendfile(fd.fileno(), a.fileno(), 0, total)
             self.assertTrue(n > 0)
         except OSError, e:
             self.assertEquals(e.errno, errno.EAGAIN)
             break
Exemple #10
0
        def testSendfileHeaders(self):
            fd = open(__file__)
            data = fd.read(10)
            dataM = 'XX' + data + 'YY'
            a, b = self._pair2()
            n = sendfile(fd.fileno(), a.fileno(), 0, 10, ['XX'], ['YY'])

            output = b.recv(1024)
            self.assertEquals(n, len(output))
            self.assertEquals(n, len(dataM))
            self.assertEquals(dataM, output)