From d8db366565094d5bbb5eef5855e5036f55cfdac4 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Fri, 18 Sep 2026 14:00:14 +0000 Subject: add write_helper test --- module-test/write_helper_test.cc | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 module-test/write_helper_test.cc (limited to 'module-test/write_helper_test.cc') diff --git a/module-test/write_helper_test.cc b/module-test/write_helper_test.cc new file mode 100644 index 0000000..eb86692 --- /dev/null +++ b/module-test/write_helper_test.cc @@ -0,0 +1,37 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace std; + +size_t write_simulator(const char *s, size_t len, int &err) +{ + size_t rand_len = rand() % (len+1); + size_t ret = write(STDOUT_FILENO, s, rand_len); + err = errno; + return ret; +} + +int main() +{ + const char *s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz\n0123456789"; + srand(time(nullptr)); + size_t pos = 0; + int err = EINTR; + while (pos < strlen(s)) + { + ; + size_t ret = write_simulator(s+pos, strlen(s+pos), err); + if (ret == string::npos) + if (err == EINTR) ret = 0; + else return 0; + pos += ret; + } + return 0; + +} -- cgit v1.3.1-4-g156e