Exemplo n.º 1
0
 def test_fact_internal(self):
     fname = os.path.join(self._td, 'd.sock')
     ss = sample_server_cli
     self.assert_server_alive()
     with dispatch.open('', fname) as conn:
         dispatch.msg_write_type(conn, ss.COMP_FACT)
         dispatch.msg_write_int32(conn, 5)
         t = dispatch.msg_read_type(conn)
         self.assertEqual(t, ss.T_RESULT)
         v = dispatch.msg_read_int32(conn)
         self.assertEqual(v, 120)
     with dispatch.open('', fname) as conn:
         dispatch.msg_write_type(conn, ss.COMP_FACT)
         dispatch.msg_write_int32(conn, 10)
         t = dispatch.msg_read_type(conn)
         self.assertEqual(t, ss.T_RESULT)
         v = dispatch.msg_read_int32(conn)
         self.assertEqual(v, 3628800)
     with dispatch.open('', fname) as conn:
         # the result will be too big
         dispatch.msg_write_type(conn, ss.COMP_FACT)
         dispatch.msg_write_int32(conn, 15)
         t = dispatch.msg_read_type(conn)
         self.assertEqual(t, ss.T_ERROR)
         v = dispatch.msg_read_uint16(conn)
         self.assertEqual(v, 1)
     with dispatch.open('', fname) as conn:
         # negative inputs are invalid
         dispatch.msg_write_type(conn, ss.COMP_FACT)
         dispatch.msg_write_int32(conn, -7)
         t = dispatch.msg_read_type(conn)
         self.assertEqual(t, ss.T_ERROR)
         v = dispatch.msg_read_uint16(conn)
         self.assertEqual(v, 1)
Exemplo n.º 2
0
 def test_round_trip_reverse(self):
     fname = os.path.join(self._td, 'd.sock')
     ss = sample_server_cli
     self.assert_server_alive()
     with dispatch.open('', fname) as conn:
         dispatch.msg_write_type(conn, ss.ROUND_TRIP)
         dispatch.msg_write_type(conn, 2500)
         dispatch.msg_write_uint64(conn, 18446743967598447505)
         dispatch.msg_write_int64(conn, -9223372036854775807)
         dispatch.msg_write_uint32(conn, 2147477648)
         dispatch.msg_write_int32(conn, -6000)
         dispatch.msg_write_uint16(conn, 512)
         dispatch.msg_write_uint8(conn, 255)
         dispatch.msg_write_string(conn, "Hello Earth!")
         t = dispatch.msg_read_type(conn)
         self.assertEqual(t, ss.T_RESULT)
         values = []
         values.append(dispatch.msg_read_string(conn))
         values.append(dispatch.msg_read_uint8(conn))
         values.append(dispatch.msg_read_uint16(conn))
         values.append(dispatch.msg_read_int32(conn))
         values.append(dispatch.msg_read_uint32(conn))
         values.append(dispatch.msg_read_int64(conn))
         values.append(dispatch.msg_read_uint64(conn))
         values.append(dispatch.msg_read_type(conn))
         self.assertEqual(values, [
             "Hello Earth!", 255, 512, -6000, 2147477648,
             -9223372036854775807, 18446743967598447505, 2500
         ])
Exemplo n.º 3
0
def round_trip_reverse(dtype, conn):
    try:
        values = []
        values.append(dispatch.msg_read_type(conn))
        values.append(dispatch.msg_read_uint64(conn))
        values.append(dispatch.msg_read_int64(conn))
        values.append(dispatch.msg_read_uint32(conn))
        values.append(dispatch.msg_read_int32(conn))
        values.append(dispatch.msg_read_uint16(conn))
        values.append(dispatch.msg_read_uint8(conn))
        values.append(dispatch.msg_read_string(conn))
        print >> sys.stderr, 'values=%r' % values
        dispatch.msg_write_type(conn, T_RESULT)
        # now the data:
        dispatch.msg_write_string(conn, values.pop())
        dispatch.msg_write_uint8(conn, values.pop())
        dispatch.msg_write_uint16(conn, values.pop())
        dispatch.msg_write_int32(conn, values.pop())
        dispatch.msg_write_uint32(conn, values.pop())
        dispatch.msg_write_int64(conn, values.pop())
        dispatch.msg_write_uint64(conn, values.pop())
        dispatch.msg_write_type(conn, values.pop())
    except Exception:
        dispatch.msg_write_type(conn, T_ERROR)
        dispatch.msg_write_uint16(conn, 1)
Exemplo n.º 4
0
def comp_fact(dtype, conn):
    try:
        v = dispatch.msg_read_int32(conn)
        res = compute_fact(v)
        dispatch.msg_write_type(conn, T_RESULT)
        dispatch.msg_write_int32(conn, res)
    except (IOError, OSError, ValueError):
        dispatch.msg_write_type(conn, T_ERROR)
        dispatch.msg_write_uint16(conn, 1)
Exemplo n.º 5
0
def rq_fact(sockfn, value):
    with dispatch.open('', sockfn) as conn:
        dispatch.msg_write_type(conn, COMP_FACT)
        dispatch.msg_write_int32(conn, value)
        t = dispatch.msg_read_type(conn)
        if t == T_ERROR:
            e = dispatch.msg_read_uint16(conn)
            sys.exit(e)
        v = dispatch.msg_read_int32(conn)
    print v
Exemplo n.º 6
0
 def test_eof_reads(self):
     fname = os.path.join(self._td, 'd.sock')
     ss = sample_server_cli
     self.assert_server_alive()
     with dispatch.open('', fname) as conn:
         dispatch.msg_write_type(conn, ss.COMP_FACT)
         dispatch.msg_write_int32(conn, 5)
         t = dispatch.msg_read_type(conn)
         self.assertEqual(t, ss.T_RESULT)
         v = dispatch.msg_read_int32(conn)
         self.assertEqual(v, 120)
         self.assertRaises(IOError, dispatch.msg_read_uint16, conn)
         self.assertRaises(IOError, dispatch.msg_read_uint32, conn)
         self.assertRaises(IOError, dispatch.msg_read_int32, conn)
Exemplo n.º 7
0
def echo_int(dtype, conn):
    i1 = dispatch.msg_read_int32(conn)
    dispatch.msg_write_int32(conn, i1)
    dispatch.msg_write_uint16(conn, 0)