/* * Copyright (c) 2023 Emma Tebibyte * SPDX-License-Identifier: LGPL-3.0-or-later * * This file is part of SPD. * * SPD is free software: you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License as published by the Free * Software Foundation, either version 3 of the License, or (at your option) any * later version. * * SPD 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 Lesser General Public License for more * details. * * You should have received a copy of the GNU Lesser General Public License * along with SPD. If not, see . * * This file incorporates work covered by the following copyright and permission * notice: * * MIT License * * Copyright (c) 2023 Matt Mastracci and contributors * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE * USE OR OTHER DEALINGS IN THE SOFTWARE. */ use crate::{ eprintln, println }; #[test] fn test_stdout() { println!("stdout fd = {}", crate::macros::__LIBC_STDOUT); } #[test] fn test_stderr() { eprintln!("stderr fd = {}", crate::macros::__LIBC_STDERR); } #[test] fn test_stdout_write() { writeln!("stdout!"); } #[test] fn test_stderr_write() { ewriteln!("stderr!"); } #[test] fn test_dbg() { let a = 2; let b = libc_dbg!(a * 2) + 1; assert_eq!(b, 5); } #[test] fn test_in_closure_expression() { use crate::*; // https://github.com/mmastrac/rust-libc-print/issues/86 let _ = Result::<(), ()>::Ok(()).unwrap_or_else(|err| eprintln!("error: {:?}", err)); } #[test] fn test_stdout() { println!("stdout fd = {}", crate::__LIBC_STDOUT); } #[test] fn test_stderr() { eprintln!("stderr fd = {}", crate::__LIBC_STDERR); }