@@ -137,7 +137,8 @@ fn project_directory() -> Option<ProjectDirs> {
137137#[ optimize( speed) ]
138138fn private_key_deserialize < ' de , D > ( deserializer : D ) -> Result < Vec < PrivateKey > , D :: Error >
139139where
140- D : Deserializer < ' de > , {
140+ D : Deserializer < ' de > ,
141+ {
141142 let keys = HashMap :: < String , String > :: deserialize ( deserializer) ?
142143 . into_iter ( )
143144 . map ( |( pem_type, pem_or_path) | {
@@ -194,7 +195,8 @@ pub struct KeyBindings(pub HashMap<Mode, HashMap<Vec<KeyEvent>, Action>>);
194195impl < ' de > Deserialize < ' de > for KeyBindings {
195196 fn deserialize < D > ( deserializer : D ) -> Result < Self , D :: Error >
196197 where
197- D : Deserializer < ' de > , {
198+ D : Deserializer < ' de > ,
199+ {
198200 let parsed_map = HashMap :: < Mode , HashMap < String , Action > > :: deserialize ( deserializer) ?;
199201
200202 let keybindings = parsed_map
@@ -389,7 +391,8 @@ pub struct Styles(pub HashMap<Mode, HashMap<String, Style>>);
389391impl < ' de > Deserialize < ' de > for Styles {
390392 fn deserialize < D > ( deserializer : D ) -> Result < Self , D :: Error >
391393 where
392- D : Deserializer < ' de > , {
394+ D : Deserializer < ' de > ,
395+ {
393396 let parsed_map = HashMap :: < Mode , HashMap < String , String > > :: deserialize ( deserializer) ?;
394397
395398 let styles = parsed_map
@@ -557,15 +560,22 @@ mod tests {
557560
558561 #[ test]
559562 fn test_config ( ) -> Result < ( ) > {
560- let c = Config :: new ( ) ?;
561- assert_eq ! (
562- c. keybindings
563- . get( & Mode :: Home )
564- . unwrap( )
565- . get( & parse_key_sequence( "<q>" ) . unwrap_or_default( ) )
566- . unwrap( ) ,
567- & Action :: Quit
568- ) ;
563+ if option_env ! ( "NIX_BUILD_TOP" ) . is_none ( ) {
564+ // Only run this test when not in a nix build environment, since
565+ // the key deserialization / generation process depends on reading
566+ // or writing to paths which there are no perms to access
567+
568+ let c = Config :: new ( ) ?;
569+ assert_eq ! (
570+ c. keybindings
571+ . get( & Mode :: Home )
572+ . unwrap( )
573+ . get( & parse_key_sequence( "<q>" ) . unwrap_or_default( ) )
574+ . unwrap( ) ,
575+ & Action :: Quit
576+ ) ;
577+ }
578+
569579 Ok ( ( ) )
570580 }
571581
0 commit comments