[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 7cae5c3: * test/automated/package-test.el: Test asy
From: |
Artur Malabarba |
Subject: |
[Emacs-diffs] master 7cae5c3: * test/automated/package-test.el: Test async functionality |
Date: |
Sun, 12 Apr 2015 00:14:42 +0000 |
branch: master
commit 7cae5c3cb6bcbee49e56c8d607d64071f9196952
Author: Artur Malabarba <address@hidden>
Commit: Artur Malabarba <address@hidden>
* test/automated/package-test.el: Test async functionality
(package-test-update-archives-async): New test
---
test/automated/data/package/package-test-server.py | 21 ++++++++++++++
test/automated/package-test.el | 30 +++++++++++++++++++-
2 files changed, 50 insertions(+), 1 deletions(-)
diff --git a/test/automated/data/package/package-test-server.py
b/test/automated/data/package/package-test-server.py
new file mode 100644
index 0000000..35ca820
--- /dev/null
+++ b/test/automated/data/package/package-test-server.py
@@ -0,0 +1,21 @@
+import sys
+import BaseHTTPServer
+from SimpleHTTPServer import SimpleHTTPRequestHandler
+
+
+HandlerClass = SimpleHTTPRequestHandler
+ServerClass = BaseHTTPServer.HTTPServer
+Protocol = "HTTP/1.0"
+
+if sys.argv[1:]:
+ port = int(sys.argv[1])
+else:
+ port = 8000
+ server_address = ('127.0.0.1', port)
+
+HandlerClass.protocol_version = Protocol
+httpd = ServerClass(server_address, HandlerClass)
+
+sa = httpd.socket.getsockname()
+print "Serving HTTP on", sa[0], "port", sa[1], "..."
+httpd.serve_forever()
diff --git a/test/automated/package-test.el b/test/automated/package-test.el
index 5fae216..b343ed7 100644
--- a/test/automated/package-test.el
+++ b/test/automated/package-test.el
@@ -103,6 +103,7 @@
(cl-defmacro with-package-test ((&optional &key file
basedir
install
+ location
update-news
upload-base)
&rest body)
@@ -112,7 +113,7 @@
(process-environment (cons (format "HOME=%s" package-test-user-dir)
process-environment))
(package-user-dir package-test-user-dir)
- (package-archives `(("gnu" . ,package-test-data-dir)))
+ (package-archives `(("gnu" . ,(or ,location package-test-data-dir))))
(default-directory package-test-file-dir)
abbreviated-home-dir
package--initialized
@@ -336,6 +337,33 @@ Must called from within a `tar-mode' buffer."
(package-menu-refresh)
(should (package-installed-p 'simple-single '(1 4)))))))
+(ert-deftest package-test-update-archives-async ()
+ "Test updating package archives asynchronously."
+ (skip-unless (executable-find "python2"))
+ (with-package-test (:basedir
+ package-test-data-dir
+ :location "http://0.0.0.0:8000/")
+ (let* ((package-menu-async t)
+ (process (start-process
+ "package-server" "package-server-buffer"
+ (executable-find "python2")
+ (expand-file-name "package-test-server.py"))))
+ (unwind-protect
+ (progn
+ (list-packages)
+ (should package--downloads-in-progress)
+ (should mode-line-process)
+ (should-not (string= (format-mode-line mode-line-process) ""))
+ (should-not
+ (with-timeout (10 'timeout)
+ (while package--downloads-in-progress
+ (accept-process-output nil 1))
+ nil))
+ (goto-char (point-min))
+ (should
+ (search-forward-regexp "^ +simple-single" nil t)))
+ (kill-process process)))))
+
(ert-deftest package-test-describe-package ()
"Test displaying help for a package."
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 7cae5c3: * test/automated/package-test.el: Test async functionality,
Artur Malabarba <=