diff options
| author | Mark H Weaver <mhw@netris.org> | 2018-09-29 21:18:45 -0400 |
|---|---|---|
| committer | Mark H Weaver <mhw@netris.org> | 2018-09-29 21:18:45 -0400 |
| commit | 17bea1803cf706d8db053d8d73302a4455684d29 (patch) | |
| tree | 073d30a8ff065d4e08cc4901f7e97e72a9de68a6 /gnu/tests/version-control.scm | |
| parent | e72ca4111fce4b05bf2a685e451f26e06680e36c (diff) | |
Revert "services: Add Gitolite."
This reverts commit 258a6d944ed891fa92fa87a16731e5dfe0bac477.
Diffstat (limited to 'gnu/tests/version-control.scm')
| -rw-r--r-- | gnu/tests/version-control.scm | 114 |
1 files changed, 1 insertions, 113 deletions
diff --git a/gnu/tests/version-control.scm b/gnu/tests/version-control.scm index 4409b8a12b3..3b935a1b485 100644 --- a/gnu/tests/version-control.scm +++ b/gnu/tests/version-control.scm | |||
| @@ -2,7 +2,6 @@ | |||
| 2 | ;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com> | 2 | ;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com> |
| 3 | ;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org> | 3 | ;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org> |
| 4 | ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> | 4 | ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> |
| 5 | ;;; Copyright © 2018 Christopher Baines <mail@cbaines.net> | ||
| 6 | ;;; | 5 | ;;; |
| 7 | ;;; This file is part of GNU Guix. | 6 | ;;; This file is part of GNU Guix. |
| 8 | ;;; | 7 | ;;; |
| @@ -28,17 +27,14 @@ | |||
| 28 | #:use-module (gnu services) | 27 | #:use-module (gnu services) |
| 29 | #:use-module (gnu services version-control) | 28 | #:use-module (gnu services version-control) |
| 30 | #:use-module (gnu services cgit) | 29 | #:use-module (gnu services cgit) |
| 31 | #:use-module (gnu services ssh) | ||
| 32 | #:use-module (gnu services web) | 30 | #:use-module (gnu services web) |
| 33 | #:use-module (gnu services networking) | 31 | #:use-module (gnu services networking) |
| 34 | #:use-module (gnu packages version-control) | 32 | #:use-module (gnu packages version-control) |
| 35 | #:use-module (gnu packages ssh) | ||
| 36 | #:use-module (guix gexp) | 33 | #:use-module (guix gexp) |
| 37 | #:use-module (guix store) | 34 | #:use-module (guix store) |
| 38 | #:use-module (guix modules) | 35 | #:use-module (guix modules) |
| 39 | #:export (%test-cgit | 36 | #:export (%test-cgit |
| 40 | %test-git-http | 37 | %test-git-http)) |
| 41 | %test-gitolite)) | ||
| 42 | 38 | ||
| 43 | (define README-contents | 39 | (define README-contents |
| 44 | "Hello! This is what goes inside the 'README' file.") | 40 | "Hello! This is what goes inside the 'README' file.") |
| @@ -304,111 +300,3 @@ HTTP-PORT." | |||
| 304 | (name "git-http") | 300 | (name "git-http") |
| 305 | (description "Connect to a running Git HTTP server.") | 301 | (description "Connect to a running Git HTTP server.") |
| 306 | (value (run-git-http-test)))) | 302 | (value (run-git-http-test)))) |
| 307 | |||
| 308 | |||
| 309 | ;;; | ||
| 310 | ;;; Gitolite. | ||
| 311 | ;;; | ||
| 312 | |||
| 313 | (define %gitolite-test-admin-keypair | ||
| 314 | (computed-file | ||
| 315 | "gitolite-test-admin-keypair" | ||
| 316 | (with-imported-modules (source-module-closure | ||
| 317 | '((guix build utils))) | ||
| 318 | #~(begin | ||
| 319 | (use-modules (ice-9 match) (srfi srfi-26) | ||
| 320 | (guix build utils)) | ||
| 321 | |||
| 322 | (mkdir #$output) | ||
| 323 | (invoke #$(file-append openssh "/bin/ssh-keygen") | ||
| 324 | "-f" (string-append #$output "/test-admin") | ||
| 325 | "-t" "rsa" | ||
| 326 | "-q" | ||
| 327 | "-N" ""))))) | ||
| 328 | |||
| 329 | (define %gitolite-os | ||
| 330 | (simple-operating-system | ||
| 331 | (dhcp-client-service) | ||
| 332 | (service openssh-service-type) | ||
| 333 | (service gitolite-service-type | ||
| 334 | (gitolite-configuration | ||
| 335 | (admin-pubkey | ||
| 336 | (file-append %gitolite-test-admin-keypair "/test-admin.pub")))))) | ||
| 337 | |||
| 338 | (define (run-gitolite-test) | ||
| 339 | (define os | ||
| 340 | (marionette-operating-system | ||
| 341 | %gitolite-os | ||
| 342 | #:imported-modules '((gnu services herd) | ||
| 343 | (guix combinators)))) | ||
| 344 | |||
| 345 | (define vm | ||
| 346 | (virtual-machine | ||
| 347 | (operating-system os) | ||
| 348 | (port-forwardings `((2222 . 22))))) | ||
| 349 | |||
| 350 | (define test | ||
| 351 | (with-imported-modules '((gnu build marionette) | ||
| 352 | (guix build utils)) | ||
| 353 | #~(begin | ||
| 354 | (use-modules (srfi srfi-64) | ||
| 355 | (rnrs io ports) | ||
| 356 | (gnu build marionette) | ||
| 357 | (guix build utils)) | ||
| 358 | |||
| 359 | (define marionette | ||
| 360 | (make-marionette (list #$vm))) | ||
| 361 | |||
| 362 | (mkdir #$output) | ||
| 363 | (chdir #$output) | ||
| 364 | |||
| 365 | (test-begin "gitolite") | ||
| 366 | |||
| 367 | ;; Wait for sshd to be up and running. | ||
| 368 | (test-assert "service running" | ||
| 369 | (marionette-eval | ||
| 370 | '(begin | ||
| 371 | (use-modules (gnu services herd)) | ||
| 372 | (start-service 'ssh-daemon)) | ||
| 373 | marionette)) | ||
| 374 | |||
| 375 | (display #$%gitolite-test-admin-keypair) | ||
| 376 | |||
| 377 | (setenv "GIT_SSH_VARIANT" "ssh") | ||
| 378 | (setenv "GIT_SSH_COMMAND" | ||
| 379 | (string-join | ||
| 380 | '(#$(file-append openssh "/bin/ssh") | ||
| 381 | "-i" #$(file-append %gitolite-test-admin-keypair | ||
| 382 | "/test-admin") | ||
| 383 | "-o" "UserKnownHostsFile=/dev/null" | ||
| 384 | "-o" "StrictHostKeyChecking=no"))) | ||
| 385 | |||
| 386 | (test-assert "cloning the admin repository" | ||
| 387 | (invoke #$(file-append git "/bin/git") | ||
| 388 | "clone" "-v" | ||
| 389 | "ssh://git@localhost:2222/gitolite-admin" | ||
| 390 | "/tmp/clone")) | ||
| 391 | |||
| 392 | (test-assert "admin key exists" | ||
| 393 | (file-exists? "/tmp/clone/keydir/test-admin.pub")) | ||
| 394 | |||
| 395 | (with-directory-excursion "/tmp/clone" | ||
| 396 | (invoke #$(file-append git "/bin/git") | ||
| 397 | "-c" "user.name=Guix" "-c" "user.email=guix" | ||
| 398 | "commit" | ||
| 399 | "-m" "Test commit" | ||
| 400 | "--allow-empty") | ||
| 401 | |||
| 402 | (test-assert "pushing, and the associated hooks" | ||
| 403 | (invoke #$(file-append git "/bin/git") "push"))) | ||
| 404 | |||
| 405 | (test-end) | ||
| 406 | (exit (= (test-runner-fail-count (test-runner-current)) 0))))) | ||
| 407 | |||
| 408 | (gexp->derivation "gitolite" test)) | ||
| 409 | |||
| 410 | (define %test-gitolite | ||
| 411 | (system-test | ||
| 412 | (name "gitolite") | ||
| 413 | (description "Clone the Gitolite admin repository.") | ||
| 414 | (value (run-gitolite-test)))) | ||
