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 /src/tests | |
parent | 63c2e854ed2c9778ea9225d86578b4e9b65900ee (diff) | |
download | tmwa-8d7f1dadeeb1dc1609b72de5a4ee3a5247b0e9e6.tar.gz tmwa-8d7f1dadeeb1dc1609b72de5a4ee3a5247b0e9e6.tar.bz2 tmwa-8d7f1dadeeb1dc1609b72de5a4ee3a5247b0e9e6.tar.xz tmwa-8d7f1dadeeb1dc1609b72de5a4ee3a5247b0e9e6.zip |
Shut up already
Diffstat (limited to 'src/tests')
-rw-r--r-- | src/tests/fdhack.cpp | 26 | ||||
-rw-r--r-- | src/tests/fdhack.hpp | 61 | ||||
-rw-r--r-- | src/tests/fwd.hpp | 30 |
3 files changed, 117 insertions, 0 deletions
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 |