diff options
author | Ben Longbons <b.r.longbons@gmail.com> | 2014-06-27 18:39:06 -0700 |
---|---|---|
committer | Ben Longbons <b.r.longbons@gmail.com> | 2014-06-27 18:39:06 -0700 |
commit | 8d7f1dadeeb1dc1609b72de5a4ee3a5247b0e9e6 (patch) | |
tree | 21b1cd54e71b29f08be7bb0224dc426b4481efa1 | |
parent | 63c2e854ed2c9778ea9225d86578b4e9b65900ee (diff) | |
download | tmwa-8d7f1dadeeb1dc1609b72de5a4ee3a5247b0e9e6.tar.gz tmwa-8d7f1dadeeb1dc1609b72de5a4ee3a5247b0e9e6.tar.bz2 tmwa-8d7f1dadeeb1dc1609b72de5a4ee3a5247b0e9e6.tar.xz tmwa-8d7f1dadeeb1dc1609b72de5a4ee3a5247b0e9e6.zip |
Shut up already
-rw-r--r-- | src/generic/oops.hpp | 2 | ||||
-rw-r--r-- | src/io/read.cpp | 6 | ||||
-rw-r--r-- | src/sexpr/lexer_test.cpp | 3 | ||||
-rw-r--r-- | src/tests/fdhack.cpp | 26 | ||||
-rw-r--r-- | src/tests/fdhack.hpp | 61 | ||||
-rw-r--r-- | src/tests/fwd.hpp | 30 |
6 files changed, 123 insertions, 5 deletions
diff --git a/src/generic/oops.hpp b/src/generic/oops.hpp index 7c03e42..1501708 100644 --- a/src/generic/oops.hpp +++ b/src/generic/oops.hpp @@ -25,8 +25,6 @@ # include <stdexcept> -# include "oops.hpp" - namespace tmwa { diff --git a/src/io/read.cpp b/src/io/read.cpp index d3e2a19..d057ca6 100644 --- a/src/io/read.cpp +++ b/src/io/read.cpp @@ -107,12 +107,12 @@ namespace io if (unhappy) { if (happy) - PRINTF("warning: file contains CR\n"_fmt); + FPRINTF(stderr, "warning: file contains CR\n"_fmt); else - PRINTF("warning: file contains bare CR\n"_fmt); + FPRINTF(stderr, "warning: file contains bare CR\n"_fmt); } else if (!happy && anything) - PRINTF("warning: file does not contain a trailing newline\n"_fmt); + FPRINTF(stderr, "warning: file does not contain a trailing newline\n"_fmt); line = AString(tmp); return anything; } diff --git a/src/sexpr/lexer_test.cpp b/src/sexpr/lexer_test.cpp index acdfa2f..0fc3901 100644 --- a/src/sexpr/lexer_test.cpp +++ b/src/sexpr/lexer_test.cpp @@ -22,6 +22,8 @@ #include "../strings/vstring.hpp" +#include "../tests/fdhack.hpp" + #include "../poison.hpp" @@ -117,6 +119,7 @@ TEST(sexpr, lexer) TEST(sexpr, lexbad) { + QuietFd q; { io::LineSpan span; sexpr::Lexer lexer("<lexer-bad>"_s, string_pipe("(\n"_s)); diff --git a/src/tests/fdhack.cpp b/src/tests/fdhack.cpp new file mode 100644 index 0000000..7a95431 --- /dev/null +++ b/src/tests/fdhack.cpp @@ -0,0 +1,26 @@ +#include "fdhack.hpp" +// fdhack.cpp - Move file descriptors around. +// +// Copyright © 2014 Ben Longbons <b.r.longbons@gmail.com> +// +// This file is part of The Mana World (Athena server) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +#include "../poison.hpp" + + +namespace tmwa +{ +} // namespace tmwa diff --git a/src/tests/fdhack.hpp b/src/tests/fdhack.hpp new file mode 100644 index 0000000..4b9fafe --- /dev/null +++ b/src/tests/fdhack.hpp @@ -0,0 +1,61 @@ +#ifndef TMWA_TESTS_FDHACK_HPP +#define TMWA_TESTS_FDHACK_HPP +// fdhack.hpp - Move file descriptors around. +// +// Copyright © 2014 Ben Longbons <b.r.longbons@gmail.com> +// +// This file is part of The Mana World (Athena server) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +# include "fwd.hpp" + +# include <cstddef> +# include <fcntl.h> + +# include <stdexcept> + +# include "../strings/literal.hpp" +# include "../strings/zstring.hpp" + +# include "../io/fd.hpp" + +namespace tmwa +{ +class ReplaceFd +{ + io::FD number, backup; +public: + ReplaceFd(io::FD num, io::FD handle, bool owned) + : number(handle.dup2(num)), backup(num.dup()) + { + if (owned) + handle.close(); + } + ~ReplaceFd() + { + backup.dup2(number); + backup.close(); + } +}; +class QuietFd : ReplaceFd +{ +public: + QuietFd(io::FD num=io::FD::stderr()) + : ReplaceFd(num, io::FD::open("/dev/null"_s, O_RDONLY), true) + {} +}; +} // namespace tmwa + +#endif // TMWA_TESTS_FDHACK_HPP diff --git a/src/tests/fwd.hpp b/src/tests/fwd.hpp new file mode 100644 index 0000000..c47fd0f --- /dev/null +++ b/src/tests/fwd.hpp @@ -0,0 +1,30 @@ +#ifndef TMWA_TESTS_FWD_HPP +#define TMWA_TESTS_FWD_HPP +// tests/fwd.hpp - list of type names for test libs +// +// Copyright © 2014 Ben Longbons <b.r.longbons@gmail.com> +// +// This file is part of The Mana World (Athena server) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +# include "../sanity.hpp" + + +namespace tmwa +{ +// meh, add more when I feel like it +} // namespace tmwa + +#endif // TMWA_TESTS_FWD_HPP |