> Quoting Jonas Smedegaard (2024-07-17 09:22:41)
>
> Oh - now after I did a release without the feature-fencing patch, I
> found the relevant build log:
> https://ci.debian.net/data/autopkgtest/testing/amd64/r/rust-axum/47457177/log.gz

Thanks. At the end of the log, we see this summary:

1760s autopkgtest [21:36:07]: @@@@@@@@@@@@@@@@@@@@ summary
1760s rust-axum-0.6:@      PASS
1760s rust-axum-0.6:       FAIL non-zero exit status 101
1760s rust-axum-0.6:default PASS
1760s rust-axum-0.6:form   FAIL non-zero exit status 101
1760s rust-axum-0.6:headers FAIL non-zero exit status 101
1760s rust-axum-0.6:http1  FAIL non-zero exit status 101
1760s rust-axum-0.6:http2  FAIL non-zero exit status 101
1760s rust-axum-0.6:json   FAIL non-zero exit status 101
1760s rust-axum-0.6:macros FAIL non-zero exit status 101
1760s rust-axum-0.6:matched-path FAIL non-zero exit status 101
1760s rust-axum-0.6:multipart FAIL non-zero exit status 101
1760s rust-axum-0.6:original-uri FAIL non-zero exit status 101
1760s rust-axum-0.6:query  FAIL non-zero exit status 101
1760s rust-axum-0.6:tokio  FAIL non-zero exit status 101
1760s rust-axum-0.6:tower-log FAIL non-zero exit status 101
1760s rust-axum-0.6:tracing FAIL non-zero exit status 101
1760s rust-axum-0.6:ws     FAIL non-zero exit status 101
1760s rust-axum-core-0.3:@ PASS
1760s rust-axum-core-0.3:  PASS
1760s rust-axum-core-0.3:default PASS
1760s rust-axum-core-0.3:tracing PASS
1760s rust-axum-macros-0.3:@ PASS
1760s rust-axum-macros-0.3: PASS
1760s rust-axum-macros-0.3:default PASS


>From that summary, we can tell that only some feature combination fails,
but the tests themeselves are do work in their "default" configuration.

What does feal are those tests that start with `--no-default-features`.

>
> 152s error[E0432]: unresolved import `crate::Json`
> 152s    --> src/routing/tests/mod.rs:15:26
> 152s     |
> 152s 15  |     BoxError, Extension, Json, Router,
> 152s     |                          ^^^^ no `Json` in the root
> 152s     |
> 152s     =3D help: consider importing this struct instead:
> 152s             tracing_subscriber::fmt::format::Json
> 152s note: found an item that was configured out
> 152s    --> src/lib.rs:481:21
> 152s     |
> 152s 481 | pub use self::json::Json;
> 152s     |                     ^^^^
> 152s     =3D note: the item is gated behind the `json` feature

This indicates that hat the feature `json` is required at least in some,
if not in all configurations.


The `json` feature fails for a different reason:

626s error[E0432]: unresolved import `crate::extract::OriginalUri`
626s   --> src/routing/tests/merge.rs:2:47
626s    |
626s 2  | use crate::{error_handling::HandleErrorLayer, extract::OriginalUri, 
response::IntoResponse, Json};
626s    |                                               ^^^^^^^^^^^^^^^^^^^^ no 
`OriginalUri` in `extract`
626s    |
626s note: found an item that was configured out
626s   --> src/extract/mod.rs:74:30
626s    |
626s 74 | pub use self::request_parts::OriginalUri;
626s    |                              ^^^^^^^^^^^
626s    = note: the item is gated behind the `original-uri` feature
626s 
626s error[E0432]: unresolved import `hyper::Server`
626s    --> src/test_helpers/test_client.rs:7:19
626s     |
626s 7   | use hyper::{Body, Server};
626s     |                   ^^^^^^ no `Server` in the root
626s     |
626s note: found an item that was configured out
626s    --> /usr/share/cargo/registry/hyper-0.14.27/src/lib.rs:110:28
626s     |
626s 110 |     pub use crate::server::Server;
626s     |                            ^^^^^^
626s     = note: the item is gated behind the `server` feature
626s 
626s error[E0432]: unresolved import `tower::make`
626s  --> src/test_helpers/test_client.rs:9:12
626s   |
626s 9 | use tower::make::Shared;
626s   |            ^^^^ could not find `make` in `tower`
626s 
626s error[E0433]: failed to resolve: could not find `Server` in the crate root
626s     --> src/routing/method_routing.rs:1394:16
626s      |
626s 1394 |         
crate::Server::bind(&"0.0.0.0:0".parse().unwrap()).serve(app.into_make_service());
626s      |                ^^^^^^ could not find `Server` in the crate root
626s 
626s error[E0412]: cannot find type `OriginalUri` in module `extract`
626s    --> src/routing/tests/nest.rs:168:36
626s     |
626s 168 |                 get(|uri: extract::OriginalUri| async move { 
uri.0.to_string() }),
626s     |                                    ^^^^^^^^^^^ not found in `extract`
626s     |
626s note: found an item that was configured out
626s    --> src/extract/mod.rs:74:30
626s     |
626s 74  | pub use self::request_parts::OriginalUri;
626s     |                              ^^^^^^^^^^^
626s     = note: the item is gated behind the `original-uri` feature
626s 

It seems to me that you've found missing dependencies in
https://salsa.debian.org/debian/rust-axum/-/blob/debian/latest/axum/Cargo.toml?ref_type=heads#L15

Jonas, I found that you already started disabling some feature
compbinations from autopkgtest in
https://salsa.debian.org/debian/rust-axum/-/blob/debian/latest/debian/tests/control?ref_type=heads.
 May
I suggest to disable the remaining failing ones, and then work with
upstream on getting the missing feature dependencies addressed?

Best,
-rt

Reply via email to