From e2320b32c5268913349549fc59972443975ceec4 Mon Sep 17 00:00:00 2001 From: Nicholas Nethercote Date: Mon, 3 Mar 2025 19:40:00 +1100 Subject: [PATCH] Convert `rustc_serialize` integration tests to unit tests. Because (a) the vast majority of compiler tests are unit tests, and (b) this works better with `unused_crate_dependencies`. --- compiler/rustc_serialize/src/leb128.rs | 3 +++ .../{tests/leb128.rs => src/leb128/tests.rs} | 9 +++------ compiler/rustc_serialize/src/lib.rs | 6 ++++-- compiler/rustc_serialize/src/opaque.rs | 3 +++ .../{tests/opaque.rs => src/opaque/tests.rs} | 9 +++------ 5 files changed, 16 insertions(+), 14 deletions(-) rename compiler/rustc_serialize/{tests/leb128.rs => src/leb128/tests.rs} (95%) rename compiler/rustc_serialize/{tests/opaque.rs => src/opaque/tests.rs} (97%) diff --git a/compiler/rustc_serialize/src/leb128.rs b/compiler/rustc_serialize/src/leb128.rs index 4a4758056973..954c1f728f2f 100644 --- a/compiler/rustc_serialize/src/leb128.rs +++ b/compiler/rustc_serialize/src/leb128.rs @@ -155,3 +155,6 @@ impl_read_signed_leb128!(read_i32_leb128, i32); impl_read_signed_leb128!(read_i64_leb128, i64); impl_read_signed_leb128!(read_i128_leb128, i128); impl_read_signed_leb128!(read_isize_leb128, isize); + +#[cfg(test)] +mod tests; diff --git a/compiler/rustc_serialize/tests/leb128.rs b/compiler/rustc_serialize/src/leb128/tests.rs similarity index 95% rename from compiler/rustc_serialize/tests/leb128.rs rename to compiler/rustc_serialize/src/leb128/tests.rs index 11402cbbf3b7..8434cd1e2e18 100644 --- a/compiler/rustc_serialize/tests/leb128.rs +++ b/compiler/rustc_serialize/src/leb128/tests.rs @@ -1,9 +1,6 @@ -// FIXME -#![allow(unused_crate_dependencies)] - -use rustc_serialize::Decoder; -use rustc_serialize::leb128::*; -use rustc_serialize::opaque::{MAGIC_END_BYTES, MemDecoder}; +use super::*; +use crate::Decoder; +use crate::opaque::{MAGIC_END_BYTES, MemDecoder}; macro_rules! impl_test_unsigned_leb128 { ($test_name:ident, $write_fn_name:ident, $read_fn_name:ident, $int_ty:ident) => { diff --git a/compiler/rustc_serialize/src/lib.rs b/compiler/rustc_serialize/src/lib.rs index 8672278d0f1e..34be35e36ace 100644 --- a/compiler/rustc_serialize/src/lib.rs +++ b/compiler/rustc_serialize/src/lib.rs @@ -3,8 +3,6 @@ // tidy-alphabetical-start #![allow(internal_features)] #![allow(rustc::internal)] -// FIXME -#![allow(unused_crate_dependencies)] #![cfg_attr(test, feature(test))] #![doc( html_root_url = "https://doc.rust-lang.org/nightly/nightly-rustc/", @@ -18,6 +16,10 @@ #![feature(rustdoc_internals)] // tidy-alphabetical-end +// Allows macros to refer to this crate as `::rustc_serialize`. +#[cfg(test)] +extern crate self as rustc_serialize; + pub use self::serialize::{Decodable, Decoder, Encodable, Encoder}; mod serialize; diff --git a/compiler/rustc_serialize/src/opaque.rs b/compiler/rustc_serialize/src/opaque.rs index d4907b69b720..81f6266f8d1f 100644 --- a/compiler/rustc_serialize/src/opaque.rs +++ b/compiler/rustc_serialize/src/opaque.rs @@ -451,3 +451,6 @@ impl<'a> Decodable> for IntEncodedWithFixedSize { IntEncodedWithFixedSize(u64::from_le_bytes(bytes)) } } + +#[cfg(test)] +mod tests; diff --git a/compiler/rustc_serialize/tests/opaque.rs b/compiler/rustc_serialize/src/opaque/tests.rs similarity index 97% rename from compiler/rustc_serialize/tests/opaque.rs rename to compiler/rustc_serialize/src/opaque/tests.rs index 418c8ede50ba..11401d245951 100644 --- a/compiler/rustc_serialize/tests/opaque.rs +++ b/compiler/rustc_serialize/src/opaque/tests.rs @@ -1,13 +1,10 @@ -#![allow(rustc::internal)] -// FIXME -#![allow(unused_crate_dependencies)] - use std::fmt::Debug; use std::fs; use rustc_macros::{Decodable_NoContext, Encodable_NoContext}; -use rustc_serialize::opaque::{FileEncoder, MemDecoder}; -use rustc_serialize::{Decodable, Encodable}; + +use crate::opaque::{FileEncoder, MemDecoder}; +use crate::{Decodable, Encodable}; #[derive(PartialEq, Clone, Debug, Encodable_NoContext, Decodable_NoContext)] struct Struct {