93 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
/* 
 | 
						|
 * Copyright (c) 2023 Emma Tebibyte <emma@tebibyte.media>
 | 
						|
 * 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 <https://www.gnu.org/licenses/>.
 | 
						|
 *
 | 
						|
 * 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);
 | 
						|
}
 |