Skip to content

Commit

Permalink
feat: additional test cases (#249)
Browse files Browse the repository at this point in the history
  • Loading branch information
baszalmstra authored Jul 6, 2023
1 parent 6c5fad1 commit 505700e
Show file tree
Hide file tree
Showing 12 changed files with 723 additions and 2 deletions.
3 changes: 3 additions & 0 deletions crates/rattler_solve/benches/bench.rs
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,9 @@ fn bench_solve_environment(c: &mut Criterion, specs: Vec<&str>) {

fn criterion_benchmark(c: &mut Criterion) {
bench_solve_environment(c, vec!["python=3.9"]);
bench_solve_environment(c, vec!["xtensor", "xsimd"]);
bench_solve_environment(c, vec!["tensorflow"]);
bench_solve_environment(c, vec!["quetz"]);
bench_solve_environment(c, vec!["tensorboard=2.1.1", "grpc-cpp=1.39.1"]);
}

Expand Down
34 changes: 32 additions & 2 deletions crates/rattler_solve/tests/backends.rs
Original file line number Diff line number Diff line change
Expand Up @@ -157,15 +157,30 @@ fn read_real_world_repo_data() -> &'static Vec<SparseRepoData> {
macro_rules! solver_backend_tests {
($T:path) => {
#[test]
fn test_solve_tensorboard_libsolv_rs() {
fn test_solve_quetz() {
insta::assert_yaml_snapshot!(solve_real_world::<$T>(vec!["quetz",]));
}

#[test]
fn test_solve_xtensor_xsimd() {
insta::assert_yaml_snapshot!(solve_real_world::<$T>(vec!["xtensor", "xsimd",]));
}

#[test]
fn test_solve_tensorflow() {
insta::assert_yaml_snapshot!(solve_real_world::<$T>(vec!["tensorflow"]));
}

#[test]
fn test_solve_tensorboard() {
insta::assert_yaml_snapshot!(solve_real_world::<$T>(vec![
"tensorboard=2.1.1",
"grpc-cpp=1.39.1"
]));
}

#[test]
fn test_solve_python_libsolv_rs() {
fn test_solve_python() {
insta::assert_yaml_snapshot!(solve_real_world::<$T>(vec!["python=3.9"]));
}

Expand Down Expand Up @@ -576,3 +591,18 @@ fn compare_solve_tensorboard() {
fn compare_solve_python() {
compare_solve(vec!["python=3.9"]);
}

#[test]
fn compare_solve_tensorflow() {
compare_solve(vec!["tensorflow"]);
}

#[test]
fn compare_solve_quetz() {
compare_solve(vec!["quetz"]);
}

#[test]
fn compare_solve_xtensor_xsimd() {
compare_solve(vec!["xtensor", "xsimd"]);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
source: crates/rattler_solve/tests/backends.rs
assertion_line: 471
expression: "solve_real_world::<rattler_solve::libsolv_rs::Solver>(vec![\"python=3.9\"])"
---
- _libgcc_mutex 0.1 conda_forge
- _openmp_mutex 4.5 2_gnu
- bzip2 1.0.8 h7f98852_4
- ca-certificates 2022.6.15 ha878542_0
- ld_impl_linux-64 2.36.1 hea4e1c9_2
- libffi 3.4.2 h7f98852_5
- libgcc-ng 12.1.0 h8d9b700_16
- libgomp 12.1.0 h8d9b700_16
- libnsl 2.0.0 h7f98852_0
- libsqlite 3.39.2 h753d276_1
- libuuid 2.32.1 h7f98852_1000
- libzlib 1.2.12 h166bdaf_2
- ncurses 6.3 h27087fc_1
- openssl 3.0.5 h166bdaf_1
- python 3.9.13 h2660328_0_cpython
- readline 8.1.2 h0f457ee_0
- sqlite 3.39.2 h4ff8645_1
- tk 8.6.12 h27826a3_0
- tzdata 2021e he74cb21_0
- xz 5.2.6 h166bdaf_0

Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
---
source: crates/rattler_solve/tests/backends.rs
assertion_line: 471
expression: "solve_real_world::<rattler_solve::libsolv_rs::Solver>(vec![\"quetz\",])"
---
- _libgcc_mutex 0.1 conda_forge
- _openmp_mutex 4.5 2_gnu
- aiofiles 0.8.0 pyhd8ed1ab_0
- alembic 1.7.6 pyhd8ed1ab_0
- anyio 3.6.1 py38h578d9bd_0
- anyjson 0.3.3 pyhd8ed1ab_1004
- appdirs 1.4.4 pyh9f0ad1d_0
- argon2-cffi 21.3.0 pyhd8ed1ab_0
- argon2-cffi-bindings 21.2.0 py38h0a891b7_2
- arrow 1.2.2 pyhd8ed1ab_0
- authlib 0.15.5 pyhd8ed1ab_0
- babel 2.9.1 pyh44b312d_0
- bcrypt 3.2.2 py38h0a891b7_0
- brotlipy 0.7.0 py38h0a891b7_1004
- bzip2 1.0.8 h7f98852_4
- ca-certificates 2022.6.15 ha878542_0
- certifi 2022.6.15 py38h578d9bd_0
- cffi 1.15.1 py38h4a40e3a_0
- charset-normalizer 2.0.11 pyhd8ed1ab_0
- click 8.1.3 py38h578d9bd_0
- colorama 0.4.4 pyh9f0ad1d_0
- colour 0.1.5 py_0
- cryptography 37.0.4 py38h2b5fc30_0
- fastapi 0.73.0 pyhd8ed1ab_0
- flit-core 3.6.0 pyhd8ed1ab_0
- fsspec 2022.1.0 pyhd8ed1ab_0
- furl 2.1.3 pyhd8ed1ab_0
- h11 0.12.0 pyhd8ed1ab_0
- h2 3.2.0 py38h32f6830_1
- hpack 3.0.0 py_0
- hyperframe 5.2.0 py_0
- idna 3.3 pyhd8ed1ab_0
- importlib-metadata 4.11.4 py38h578d9bd_0
- importlib_resources 5.4.0 pyhd8ed1ab_0
- infinity 1.5 pyhd8ed1ab_0
- intervals 0.9.2 pyhd8ed1ab_0
- itsdangerous 2.0.1 pyhd8ed1ab_0
- jinja2 3.0.3 pyhd8ed1ab_0
- ld_impl_linux-64 2.36.1 hea4e1c9_2
- libffi 3.4.2 h7f98852_5
- libgcc-ng 12.1.0 h8d9b700_16
- libgomp 12.1.0 h8d9b700_16
- libnsl 2.0.0 h7f98852_0
- libsqlite 3.39.2 h753d276_1
- libstdcxx-ng 12.1.0 ha89aaad_16
- libuuid 2.32.1 h7f98852_1000
- libzlib 1.2.12 h166bdaf_2
- mako 1.1.6 pyhd8ed1ab_0
- markupsafe 2.1.1 py38h0a891b7_1
- ncurses 6.3 h27087fc_1
- openssl 1.1.1q h166bdaf_0
- orderedmultidict 1.0.1 py_0
- pamela 1.0.0 py_0
- passlib 1.7.4 pyh9f0ad1d_0
- pendulum 2.1.2 py38h0a891b7_4
- phonenumbers 8.12.43 pyhd8ed1ab_0
- pip 22.0.3 pyhd8ed1ab_0
- pluggy 1.0.0 py38h578d9bd_3
- prometheus_client 0.13.1 pyhd8ed1ab_0
- pycparser 2.21 pyhd8ed1ab_0
- pydantic 1.9.2 py38h0a891b7_0
- pyopenssl 22.0.0 pyhd8ed1ab_0
- pysocks 1.7.1 py38h578d9bd_5
- python 3.8.13 h582c2e5_0_cpython
- python-dateutil 2.8.2 pyhd8ed1ab_0
- python-multipart 0.0.5 py_0
- python_abi 3.8 2_cp38
- pytz 2021.3 pyhd8ed1ab_0
- pytzdata 2020.1 pyh9f0ad1d_0
- pyyaml 6.0 py38h0a891b7_4
- quetz 0.3.0 pyhaa4b35c_0
- readline 8.1.2 h0f457ee_0
- requests 2.27.1 pyhd8ed1ab_0
- setuptools 65.0.2 py38h578d9bd_0
- shellingham 1.4.0 pyh44b312d_0
- six 1.16.0 pyh6c4a22f_0
- sniffio 1.2.0 py38h578d9bd_3
- sqlalchemy 1.3.24 py38h0a891b7_1
- sqlalchemy-utils 0.38.2 pyhd8ed1ab_0
- sqlite 3.39.2 h4ff8645_1
- starlette 0.17.1 pyhd8ed1ab_0
- tenacity 8.0.1 pyhd8ed1ab_0
- tk 8.6.12 h27826a3_0
- toml 0.10.2 pyhd8ed1ab_0
- typer 0.4.0 pyhd8ed1ab_0
- typing-extensions 4.0.1 hd8ed1ab_0
- typing_extensions 4.0.1 pyha770c72_0
- ujson 5.3.0 py38hfa26641_0
- urllib3 1.26.8 pyhd8ed1ab_1
- uvicorn 0.18.2 py38h578d9bd_2
- wheel 0.37.1 pyhd8ed1ab_0
- xattr 0.9.9 py38h0a891b7_1
- xz 5.2.6 h166bdaf_0
- yaml 0.2.5 h7f98852_2
- zipp 3.7.0 pyhd8ed1ab_1
- zstandard 0.18.0 py38h0a891b7_0

Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
---
source: crates/rattler_solve/tests/backends.rs
assertion_line: 471
expression: "solve_real_world::<rattler_solve::libsolv_rs::Solver>(vec![\"tensorboard=2.1.1\",\n \"grpc-cpp=1.39.1\"])"
---
- _libgcc_mutex 0.1 conda_forge
- _openmp_mutex 4.5 2_gnu
- abseil-cpp 20210324.2 h9c3ff4c_0
- absl-py 1.0.0 pyhd8ed1ab_0
- aiohttp 3.8.1 py39hb9d737c_1
- aiosignal 1.2.0 pyhd8ed1ab_0
- async-timeout 4.0.2 pyhd8ed1ab_0
- attrs 21.4.0 pyhd8ed1ab_0
- blinker 1.4 py_1
- brotlipy 0.7.0 py39hb9d737c_1004
- bzip2 1.0.8 h7f98852_4
- c-ares 1.18.1 h7f98852_0
- ca-certificates 2022.6.15 ha878542_0
- cachetools 5.0.0 pyhd8ed1ab_0
- certifi 2022.6.15 py39hf3d152e_0
- cffi 1.15.1 py39he91dace_0
- charset-normalizer 2.0.11 pyhd8ed1ab_0
- click 8.1.3 py39hf3d152e_0
- cryptography 37.0.4 py39hd97740a_0
- frozenlist 1.3.1 py39hb9d737c_0
- google-auth 2.6.0 pyh6c4a22f_1
- google-auth-oauthlib 0.4.1 py_2
- grpc-cpp 1.39.1 h850795e_1
- grpcio 1.46.3 py39h0f497a6_0
- idna 3.3 pyhd8ed1ab_0
- importlib-metadata 4.11.4 py39hf3d152e_0
- ld_impl_linux-64 2.36.1 hea4e1c9_2
- libblas 3.9.0 16_linux64_openblas
- libcblas 3.9.0 16_linux64_openblas
- libffi 3.4.2 h7f98852_5
- libgcc-ng 12.1.0 h8d9b700_16
- libgfortran-ng 12.1.0 h69a702a_16
- libgfortran5 12.1.0 hdcd56e2_16
- libgomp 12.1.0 h8d9b700_16
- liblapack 3.9.0 16_linux64_openblas
- libnsl 2.0.0 h7f98852_0
- libopenblas 0.3.21 pthreads_h78a6416_1
- libprotobuf 3.16.0 h780b84a_0
- libsqlite 3.39.2 h753d276_1
- libstdcxx-ng 12.1.0 ha89aaad_16
- libuuid 2.32.1 h7f98852_1000
- libzlib 1.2.12 h166bdaf_2
- markdown 3.3.6 pyhd8ed1ab_0
- multidict 6.0.2 py39hb9d737c_1
- ncurses 6.3 h27087fc_1
- numpy 1.23.2 py39hba7629e_0
- oauthlib 3.2.0 pyhd8ed1ab_0
- openssl 1.1.1q h166bdaf_0
- protobuf 3.16.0 py39he80948d_0
- pyasn1 0.4.8 py_0
- pyasn1-modules 0.2.7 py_0
- pycparser 2.21 pyhd8ed1ab_0
- pyjwt 2.3.0 pyhd8ed1ab_1
- pyopenssl 22.0.0 pyhd8ed1ab_0
- pysocks 1.7.1 py39hf3d152e_5
- python 3.9.13 h9a8a25e_0_cpython
- python_abi 3.9 2_cp39
- pyu2f 0.1.5 pyhd8ed1ab_0
- re2 2021.09.01 h9c3ff4c_0
- readline 8.1.2 h0f457ee_0
- requests 2.27.1 pyhd8ed1ab_0
- requests-oauthlib 1.3.1 pyhd8ed1ab_0
- rsa 4.8 pyhd8ed1ab_0
- setuptools 65.0.2 py39hf3d152e_0
- six 1.16.0 pyh6c4a22f_0
- sqlite 3.39.2 h4ff8645_1
- tensorboard 2.1.1 py_1
- tk 8.6.12 h27826a3_0
- typing-extensions 4.0.1 hd8ed1ab_0
- typing_extensions 4.0.1 pyha770c72_0
- tzdata 2021e he74cb21_0
- urllib3 1.26.8 pyhd8ed1ab_1
- werkzeug 2.0.3 pyhd8ed1ab_1
- wheel 0.37.1 pyhd8ed1ab_0
- xz 5.2.6 h166bdaf_0
- yarl 1.7.2 py39hb9d737c_2
- zipp 3.7.0 pyhd8ed1ab_1
- zlib 1.2.12 h166bdaf_2

Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
---
source: crates/rattler_solve/tests/backends.rs
assertion_line: 471
expression: "solve_real_world::<rattler_solve::libsolv_rs::Solver>(vec![\"tensorflow\"])"
---
- _libgcc_mutex 0.1 conda_forge
- _openmp_mutex 4.5 2_gnu
- abseil-cpp 20210324.2 h9c3ff4c_0
- absl-py 0.15.0 pyhd8ed1ab_0
- aiohttp 3.8.1 py39hb9d737c_1
- aiosignal 1.2.0 pyhd8ed1ab_0
- astunparse 1.6.3 pyhd8ed1ab_0
- async-timeout 4.0.2 pyhd8ed1ab_0
- attrs 21.4.0 pyhd8ed1ab_0
- blinker 1.4 py_1
- brotlipy 0.7.0 py39hb9d737c_1004
- bzip2 1.0.8 h7f98852_4
- c-ares 1.18.1 h7f98852_0
- ca-certificates 2022.6.15 ha878542_0
- cached-property 1.5.2 hd8ed1ab_1
- cached_property 1.5.2 pyha770c72_1
- cachetools 4.2.4 pyhd8ed1ab_0
- certifi 2022.6.15 py39hf3d152e_0
- cffi 1.15.1 py39he91dace_0
- charset-normalizer 2.0.11 pyhd8ed1ab_0
- click 8.1.3 py39hf3d152e_0
- cryptography 37.0.4 py39hd97740a_0
- cudatoolkit 10.2.89 h713d32c_10
- cudnn 7.6.5.32 h01f27c4_1
- frozenlist 1.3.1 py39hb9d737c_0
- gast 0.4.0 pyh9f0ad1d_0
- giflib 5.2.1 h36c2ea0_2
- google-auth 1.35.0 pyh6c4a22f_0
- google-auth-oauthlib 0.4.6 pyhd8ed1ab_0
- google-pasta 0.2.0 pyh8c360ce_0
- grpc-cpp 1.41.1 h75e9d12_2
- grpcio 1.41.1 py39hff7568b_1
- h5py 3.1.0 nompi_py39h25020de_100
- hdf5 1.10.6 nompi_h6a2412b_1114
- icu 69.1 h9c3ff4c_0
- idna 3.3 pyhd8ed1ab_0
- importlib-metadata 4.11.4 py39hf3d152e_0
- jpeg 9e h166bdaf_2
- keras 2.6.0 pyhd8ed1ab_1
- keras-preprocessing 1.1.2 pyhd8ed1ab_0
- keyutils 1.6.1 h166bdaf_0
- krb5 1.19.3 h3790be6_0
- ld_impl_linux-64 2.36.1 hea4e1c9_2
- libblas 3.9.0 16_linux64_openblas
- libcblas 3.9.0 16_linux64_openblas
- libcurl 7.83.1 h7bff187_0
- libedit 3.1.20191231 he28a2e2_2
- libev 4.33 h516909a_1
- libffi 3.4.2 h7f98852_5
- libgcc-ng 12.1.0 h8d9b700_16
- libgfortran-ng 12.1.0 h69a702a_16
- libgfortran5 12.1.0 hdcd56e2_16
- libgomp 12.1.0 h8d9b700_16
- liblapack 3.9.0 16_linux64_openblas
- libnghttp2 1.47.0 hdcd2b5c_1
- libnsl 2.0.0 h7f98852_0
- libopenblas 0.3.21 pthreads_h78a6416_1
- libpng 1.6.37 h753d276_4
- libprotobuf 3.18.1 h780b84a_0
- libsqlite 3.39.2 h753d276_1
- libssh2 1.10.0 haa6b8db_3
- libstdcxx-ng 12.1.0 ha89aaad_16
- libuuid 2.32.1 h7f98852_1000
- libzlib 1.2.12 h166bdaf_2
- markdown 3.3.6 pyhd8ed1ab_0
- multidict 6.0.2 py39hb9d737c_1
- nccl 2.14.3.1 h1a5f58c_0
- ncurses 6.3 h27087fc_1
- numpy 1.19.5 py39hd249d9e_3
- oauthlib 3.2.0 pyhd8ed1ab_0
- openssl 1.1.1q h166bdaf_0
- opt_einsum 3.3.0 pyhd8ed1ab_1
- protobuf 3.18.1 py39he80948d_0
- pyasn1 0.4.8 py_0
- pyasn1-modules 0.2.7 py_0
- pycparser 2.21 pyhd8ed1ab_0
- pyjwt 2.3.0 pyhd8ed1ab_1
- pyopenssl 22.0.0 pyhd8ed1ab_0
- pysocks 1.7.1 py39hf3d152e_5
- python 3.9.13 h9a8a25e_0_cpython
- python-flatbuffers 1.12 pyhd8ed1ab_1
- python_abi 3.9 2_cp39
- pyu2f 0.1.5 pyhd8ed1ab_0
- re2 2021.11.01 h9c3ff4c_0
- readline 8.1.2 h0f457ee_0
- requests 2.27.1 pyhd8ed1ab_0
- requests-oauthlib 1.3.1 pyhd8ed1ab_0
- rsa 4.8 pyhd8ed1ab_0
- scipy 1.9.0 py39h8ba3f38_0
- setuptools 65.0.2 py39hf3d152e_0
- six 1.15.0 pyh9f0ad1d_0
- snappy 1.1.9 hbd366e4_1
- sqlite 3.39.2 h4ff8645_1
- tensorboard 2.6.0 pyhd8ed1ab_1
- tensorboard-data-server 0.6.0 py39hd97740a_2
- tensorboard-plugin-wit 1.8.1 pyhd8ed1ab_0
- tensorflow 2.6.2 cuda102py39h87695c4_1
- tensorflow-base 2.6.2 cuda102py39hcf1dd7e_1
- tensorflow-estimator 2.6.2 cuda102py39h87695c4_1
- termcolor 1.1.0 py_2
- tk 8.6.12 h27826a3_0
- typing-extensions 3.7.4.3 0
- typing_extensions 3.7.4.3 py_0
- tzdata 2021e he74cb21_0
- urllib3 1.26.8 pyhd8ed1ab_1
- werkzeug 2.0.3 pyhd8ed1ab_1
- wheel 0.37.1 pyhd8ed1ab_0
- wrapt 1.12.1 py39h3811e60_3
- xz 5.2.6 h166bdaf_0
- yarl 1.7.2 py39hb9d737c_2
- zipp 3.7.0 pyhd8ed1ab_1
- zlib 1.2.12 h166bdaf_2

Loading

0 comments on commit 505700e

Please sign in to comment.