diff options
author | Arseny Kapoulkine <arseny.kapoulkine@gmail.com> | 2017-06-15 21:17:26 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-15 21:17:26 -0700 |
commit | 0698810abbe7c5bb7e77f3c40784885026b7f0b8 (patch) | |
tree | 2dcd0a27d290a740a41923d3c2a4d040d0a430a1 /tests | |
parent | 0fbc043183e4723961d6caa99bf9bb77c5edfb83 (diff) | |
parent | 927d321d90a971caae629210e53858f6057903e4 (diff) |
Merge pull request #149 from zeux/test-path
Improve code coverage
Diffstat (limited to 'tests')
-rw-r--r-- | tests/main.cpp | 2 | ||||
-rw-r--r-- | tests/test_document.cpp | 17 |
2 files changed, 18 insertions, 1 deletions
diff --git a/tests/main.cpp b/tests/main.cpp index 712edda..352b58b 100644 --- a/tests/main.cpp +++ b/tests/main.cpp @@ -41,7 +41,7 @@ static void* custom_allocate(size_t size) else { void* ptr = memory_allocate(size); - assert(ptr); + if (!ptr) return 0; g_memory_total_size += memory_size(ptr); g_memory_total_count++; diff --git a/tests/test_document.cpp b/tests/test_document.cpp index 9860737..c7ceb8f 100644 --- a/tests/test_document.cpp +++ b/tests/test_document.cpp @@ -383,6 +383,23 @@ TEST(document_load_file_wide_out_of_memory) CHECK(result.status == status_out_of_memory || result.status == status_file_not_found); } +#if defined(__linux__) || defined(__APPLE__) +TEST(document_load_file_special_folder) +{ + xml_document doc; + xml_parse_result result = doc.load_file("."); + // status_out_of_memory is somewhat counter-intuitive but on Linux ftell returns LONG_MAX for directories + CHECK(result.status == status_file_not_found || result.status == status_io_error || result.status == status_out_of_memory); +} + +TEST(document_load_file_special_device) +{ + xml_document doc; + xml_parse_result result = doc.load_file("/dev/tty"); + CHECK(result.status == status_file_not_found || result.status == status_io_error); +} +#endif + TEST_XML(document_save, "<node/>") { xml_writer_string writer; |