;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Christopher Baines ;;; Copyright © 2018 Clément Lassieur ;;; Copyright © 2021 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu tests rsync) #:use-module (gnu packages rsync) #:use-module (gnu tests)
aboutsummaryrefslogtreecommitdiff
// -*- C++ -*-
//  Boost general library 'format'   ---------------------------
//  See http://www.boost.org for updates, documentation, and revision history.

//  (C) Samuel Krempp 2001
//                  krempp@crans.ens-cachan.fr
//  Permission to copy, use, modify, sell and
//  distribute this software is granted provided this copyright notice appears
//  in all copies. This software is provided "as is" without express or implied
//  warranty, and with no claim as to its suitability for any purpose.

// ideas taken from Rüdiger Loos's format class
// and Karl Nelson's ofstream (also took its parsing code as basis for printf parsing)

// ------------------------------------------------------------------------------
// internals_fwd.hpp :  forward declarations, for internal headers
// ------------------------------------------------------------------------------

#ifndef BOOST_FORMAT_INTERNAL_FWD_HPP
#define BOOST_FORMAT_INTERNAL_FWD_HPP

#include "boost/format/format_fwd.hpp"


namespace boost {
namespace io {

namespace detail {
  struct stream_format_state;
  struct format_item;
}


namespace detail {

  // these functions were intended as methods, 
  // but MSVC have problems with template member functions :

  // defined in format_implementation.hpp :
     template<class T> 
     basic_format&  modify_item_body( basic_format& self, 
                                          int itemN, const T& manipulator);

     template<class T> 
     basic_format&  bind_arg_body( basic_format& self,
                                           int argN, const T& val);

    template<class T> 
    void apply_manip_body( stream_format_state& self,
                           T manipulator);

  // argument feeding (defined in feed_args.hpp ) :
     template<class T> 
     void distribute(basic_format& self, T x);

     template<class T> 
     basic_format& feed(basic_format& self, T x);
 
} // namespace detail

} // namespace io
} // namespace boost


#endif //  BOOST_FORMAT_INTERNAL_FWD_HPP
'(begin (use-modules (ice-9 rdelim)) (call-with-output-file "/srv/read-only/the-file" (lambda (port) (display "\"Hi!\" from the read-only share." port))) (zero? (system* "rsync" (string-append "rsync://localhost:" (number->string #$rsync-port) "/read-only/the-file") "/tmp/output")) (call-with-input-file "/tmp/output" read-line)) marionette)) (test-end)))) (gexp->derivation "rsync-test" test)) (define* %rsync-os ;; Return operating system under test. (let ((base-os (simple-operating-system (service dhcp-client-service-type) (service rsync-service-type (rsync-configuration (modules (list (rsync-module (name "read-only") (file-name "/srv/read-only")) (rsync-module (name "files") (file-name "/srv/read-write") (read-only? #f))))))))) (operating-system (inherit base-os) (packages (cons* rsync (operating-system-packages base-os)))))) (define %test-rsync (system-test (name "rsync") (description "Connect to a running RSYNC server.") (value (run-rsync-test %rsync-os))))