feat(wpcarro/emacs): Package fs.el
According to SourceGraph, this is unused, but I'm checking it in for historical purposes. Change-Id: I24bcb1c71a9f6de527bb54057cf13d01493c45bf Reviewed-on: https://cl.tvl.fyi/c/depot/+/6016 Tested-by: BuildkiteCI Reviewed-by: wpcarro <wpcarro@gmail.com> Autosubmit: wpcarro <wpcarro@gmail.com>
This commit is contained in:
		
							parent
							
								
									f957a57ad8
								
							
						
					
					
						commit
						081742a07e
					
				
					 3 changed files with 55 additions and 22 deletions
				
			
		
							
								
								
									
										29
									
								
								users/wpcarro/emacs/pkgs/fs/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								users/wpcarro/emacs/pkgs/fs/default.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,29 @@ | ||||||
|  | { pkgs, depot, ... }: | ||||||
|  | 
 | ||||||
|  | let | ||||||
|  |   fs = pkgs.callPackage | ||||||
|  |     ({ emacsPackages }: | ||||||
|  |       emacsPackages.trivialBuild { | ||||||
|  |         pname = "fs"; | ||||||
|  |         version = "1.0.0"; | ||||||
|  |         src = ./fs.el; | ||||||
|  |         packageRequires = | ||||||
|  |           (with emacsPackages; [ | ||||||
|  |             dash | ||||||
|  |             f | ||||||
|  |             s | ||||||
|  |           ]); | ||||||
|  |       }) | ||||||
|  |     { }; | ||||||
|  | 
 | ||||||
|  |   emacs = (pkgs.emacsPackagesFor pkgs.emacs28).emacsWithPackages (epkgs: [ | ||||||
|  |     fs | ||||||
|  |   ]); | ||||||
|  | in | ||||||
|  | fs.overrideAttrs (_old: { | ||||||
|  |   doCheck = true; | ||||||
|  |   checkPhase = '' | ||||||
|  |     ${emacs}/bin/emacs -batch \ | ||||||
|  |       -l ert -l ${./tests.el} -f ert-run-tests-batch-and-exit | ||||||
|  |   ''; | ||||||
|  | }) | ||||||
|  | @ -31,8 +31,6 @@ Will error for inputs with a trailing slash." | ||||||
|        fs-ensure-dir) |        fs-ensure-dir) | ||||||
|   (f-touch path)) |   (f-touch path)) | ||||||
| 
 | 
 | ||||||
| (f-dirname "/tmp/a/b/file.txt") |  | ||||||
| 
 |  | ||||||
| (defun fs-ensure-dir (path) | (defun fs-ensure-dir (path) | ||||||
|   "Ensure that a directory and its ancestor directories in `PATH' exist." |   "Ensure that a directory and its ancestor directories in `PATH' exist." | ||||||
|   (->> path |   (->> path | ||||||
|  | @ -45,25 +43,5 @@ Should behave similarly in spirit to the Unix command, ls. | ||||||
| If `FULL-PATH?' is set, return the full-path of the files." | If `FULL-PATH?' is set, return the full-path of the files." | ||||||
|   (-drop 2 (directory-files dir full-path?))) |   (-drop 2 (directory-files dir full-path?))) | ||||||
| 
 | 
 | ||||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |  | ||||||
| ;; Tests |  | ||||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |  | ||||||
| 
 |  | ||||||
| (ert-deftest fs-test-ensure-file () |  | ||||||
|   (let ((file "/tmp/file/a/b/c/file.txt")) |  | ||||||
|     ;; Ensure this file doesn't exist first to prevent false-positives. |  | ||||||
|     (f-delete file t) |  | ||||||
|     (fs-ensure-file file) |  | ||||||
|     (should (and (f-exists? file) |  | ||||||
|                  (f-file? file))))) |  | ||||||
| 
 |  | ||||||
| (ert-deftest fs-test-ensure-dir () |  | ||||||
|   (let ((dir "/tmp/dir/a/b/c")) |  | ||||||
|     ;; Ensure the directory doesn't exist. |  | ||||||
|     (f-delete dir t) |  | ||||||
|     (fs-ensure-dir dir) |  | ||||||
|     (should (and (f-exists? dir) |  | ||||||
|                  (f-dir? dir))))) |  | ||||||
| 
 |  | ||||||
| (provide 'fs) | (provide 'fs) | ||||||
| ;;; fs.el ends here | ;;; fs.el ends here | ||||||
							
								
								
									
										26
									
								
								users/wpcarro/emacs/pkgs/fs/tests.el
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								users/wpcarro/emacs/pkgs/fs/tests.el
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,26 @@ | ||||||
|  | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||||
|  | ;; Dependencies | ||||||
|  | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||||
|  | 
 | ||||||
|  | (require 'ert) | ||||||
|  | (require 'fs) | ||||||
|  | 
 | ||||||
|  | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||||
|  | ;; Tests | ||||||
|  | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||||
|  | 
 | ||||||
|  | (ert-deftest fs-test-ensure-file () | ||||||
|  |   (let ((file "/tmp/file/a/b/c/file.txt")) | ||||||
|  |     ;; Ensure this file doesn't exist first to prevent false-positives. | ||||||
|  |     (f-delete file t) | ||||||
|  |     (fs-ensure-file file) | ||||||
|  |     (should (and (f-exists? file) | ||||||
|  |                  (f-file? file))))) | ||||||
|  | 
 | ||||||
|  | (ert-deftest fs-test-ensure-dir () | ||||||
|  |   (let ((dir "/tmp/dir/a/b/c")) | ||||||
|  |     ;; Ensure the directory doesn't exist. | ||||||
|  |     (f-delete dir t) | ||||||
|  |     (fs-ensure-dir dir) | ||||||
|  |     (should (and (f-exists? dir) | ||||||
|  |                  (f-dir? dir))))) | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue