Add fuzzer for termin_input_parser

Current state: the fuzzer find interesting input immediately...
```
terminate called after throwing an instance of 'std::range_error'
  what():  wstring_convert::from_bytes
```

See: https://github.com/ArthurSonzogni/FTXUI/issues/118
This commit is contained in:
ArthurSonzogni
2021-06-17 23:07:26 +02:00
committed by Arthur Sonzogni
parent 3d5e4eb6ca
commit 986ea2b37e
3 changed files with 46 additions and 6 deletions

View File

@@ -0,0 +1,19 @@
//#include "ftxui/component/event.hpp"
//#include "ftxui/component/receiver.hpp"
#include "ftxui/component/terminal_input_parser.hpp"
#include <vector>
extern "C" int LLVMFuzzerTestOneInput(const char* data, size_t size) {
using namespace ftxui;
auto event_receiver = MakeReceiver<Event>();
{
auto parser = TerminalInputParser(event_receiver->MakeSender());
for (size_t i = 0; i < size; ++i)
parser.Add(data[i]);
}
Event received;
while (event_receiver->Receive(&received))
;
return 0; // Non-zero return values are reserved for future use.
}