예제 #1
0
def test_flake_can_be_built(flake_renderer: FlakeRenderer, result_path: Path,
                            flake_directory: Path, nix: Nix):
    flake_renderer.render_expression(
        packages_metadata=[],
        sources=Sources(),
    )
    nix.build_flake(flake_directory, out_link=result_path)
    assert (result_path / "bin" / "python").exists()
예제 #2
0
def test_can_build_a_flake(tmpdir, nix: Nix):
    build_dir: Path = Path(str(tmpdir))
    out_link_path = build_dir / "result"
    flake_path = build_dir / "flake.nix"
    flake_path.write_text(
        """{
  description = "A flake for building Hello World";
  inputs.nixpkgs.url = github:NixOS/nixpkgs/nixos-20.03;
  outputs = { self, nixpkgs }: {
    defaultPackage.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.hello;
  };
}"""
    )
    nix.build_flake(flake_path / "..", out_link=out_link_path)
    completed_process = subprocess.run(str(out_link_path / "bin" / "hello"))
    assert completed_process.returncode == 0
예제 #3
0
def test_flake_with_packages_can_be_built(
    flake_renderer: FlakeRenderer,
    build_wheels,
    package_generator: PackageGenerator,
    generated_sources: Sources,
    result_path: Path,
    nix: Nix,
    flake_directory: Path,
) -> None:
    package_generator.generate_setuptools_package(name="package1")
    wheels = build_wheels(["package1"])
    flake_renderer.render_expression(
        packages_metadata=wheels,
        sources=generated_sources,
    )
    nix.build_flake(flake_directory, out_link=result_path)
    assert (result_path / "bin" / "python").exists()