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()
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
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()