65 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ lib, buildPythonPackage, fetchFromGitHub, runtimeShell,
 | 
						|
  nose, dbus, dbus-python, pygobject3,
 | 
						|
  which, pyflakes, pycodestyle, bluez, networkmanager
 | 
						|
}:
 | 
						|
 | 
						|
buildPythonPackage rec {
 | 
						|
  pname = "python-dbusmock";
 | 
						|
  version = "0.19";
 | 
						|
 | 
						|
  src = fetchFromGitHub {
 | 
						|
    owner = "martinpitt";
 | 
						|
    repo = pname;
 | 
						|
    rev = version;
 | 
						|
    sha256 = "09j338lmrjabbd3fpajr4piz4r20sl33030szfsqfzlwrrmvkyi0";
 | 
						|
  };
 | 
						|
 | 
						|
  prePatch = ''
 | 
						|
    substituteInPlace tests/test_code.py \
 | 
						|
      --replace "pyflakes3" "pyflakes" \
 | 
						|
      --replace "/bin/bash" "${runtimeShell}" \
 | 
						|
      --replace "--ignore=E124,E402,E731,W504" "--ignore=E124,E402,E731,W504,E501" # ignore long lines too
 | 
						|
  '';
 | 
						|
 | 
						|
  # TODO: Get the rest of these tests running?
 | 
						|
  # This is a mocking library used as a check dependency for a single derivation.
 | 
						|
  # That derivation's tests pass. Maybe not worth the effort to fix these...
 | 
						|
  NOSE_EXCLUDE = lib.concatStringsSep "," [
 | 
						|
    "test_bluez4" # NixOS ships BlueZ5
 | 
						|
    # These appear to fail because they're expecting to run in an Ubuntu chroot?
 | 
						|
    "test_everything" # BlueZ5 OBEX
 | 
						|
    "test_polkitd"
 | 
						|
    "test_consolekit"
 | 
						|
    "test_api"
 | 
						|
    "test_logind"
 | 
						|
    "test_notification_daemon"
 | 
						|
    "test_ofono"
 | 
						|
    "test_gnome_screensaver"
 | 
						|
    "test_cli"
 | 
						|
    "test_timedated"
 | 
						|
    "test_upower"
 | 
						|
    # Very slow, consider disabling?
 | 
						|
    # "test_networkmanager"
 | 
						|
  ];
 | 
						|
 | 
						|
  checkInputs = [
 | 
						|
    nose dbus dbus-python which pycodestyle pyflakes
 | 
						|
    pygobject3 bluez (lib.getOutput "test" bluez) networkmanager
 | 
						|
  ];
 | 
						|
 | 
						|
  checkPhase = ''
 | 
						|
    runHook preCheck
 | 
						|
    export PATH="$PATH:${lib.getOutput "test" bluez}/test";
 | 
						|
    nosetests -v
 | 
						|
    runHook postCheck
 | 
						|
  '';
 | 
						|
 | 
						|
  meta = with lib; {
 | 
						|
    description = "Mock D-Bus objects for tests";
 | 
						|
    homepage = "https://github.com/martinpitt/python-dbusmock";
 | 
						|
    license = licenses.lgpl3Plus;
 | 
						|
    maintainers = with maintainers; [ callahad ];
 | 
						|
    platforms = platforms.linux;
 | 
						|
  };
 | 
						|
}
 |