如何测试Berkeley socket(BSD)API?

时间:2009-06-19 10:08:01

标签: api sockets embedded berkeley-sockets

我想测试BSP API实现的正确性和完整性。 必须针对ARM sam7x交叉编译测试集。

2 个答案:

答案 0 :(得分:1)

我不知道这对您是否有任何兴趣,但这里有两个链接,分别来自纽约BSD会议2008:Detecting TCP regressions with tcpdiff(FreeBSD)和An introduction to the Automated Testing Framework (ATF) for NetBSD。两者都很不错。

答案 1 :(得分:0)

有一个公共域Benchmarking tool for TCP and UDP performance measurement

它有一定的控制权。您可以将它用于测试 请记住,这不是测试API,而是实现性能,您需要的不仅仅是这个。

  

PCATTCP工具包括几个选项,这些选项由程序启动时在命令行上传递的参数控制。要查看可用选项,请使用“-h”选项运行PCATTCP应用程序。这是你会看到的:

pcattcp -h
PCAUSA Test TCP Utility V2.01.01.08

Usage: pcattcp -t [-options] host [ < in ]
   pcattcp -r [-options > out]

Common options:
-l ##  length of bufs read from or written to network (default 8192)
-u     use UDP instead of TCP
-p ##  port number to send to or listen at (default 5001)
-s     toggle sinkmode (enabled by default)

        sinkmode enabled:
           -t: source (transmit) fabricated pattern
           -r: sink (discard) all received data
        sinkmode disabled:
           -t: reads data to be transmitted from stdin
           -r: writes received data to stdout

-A     align the start of buffers to this modulus (default 16384)
-O     start buffers at this offset from the modulus (default 0)
-v     verbose: print more statistics
-d     set SO_DEBUG socket option
-b ##  set socket buffer size (if supported)
-f X   format for rate: k,K = kilo{bit,byte}; m,M = mega; g,G = giga
-c       -t: send continuously
         -r: accept multiple connections sequentially
-R     concurrent TCP/UDP multithreaded receiver

Options specific to -t:
-n ##  number of source bufs written to network (default 2048)
-D     don't buffer TCP writes (sets TCP_NODELAY socket option)
-w ##  milliseconds of delay before each write (default 0)
-L ##  desired transmit data rate in bytes/second


Options specific to -r:
-B     for -s, only output full blocks as specified by -l (for TAR)
-T     "touch": access each byte as it's read