mirror of
				https://github.com/moby/moby.git
				synced 2022-11-09 12:21:53 -05:00 
			
		
		
		
	
						commit
						90cb66f08d
					
				
					 25 changed files with 47 additions and 47 deletions
				
			
		
							
								
								
									
										10
									
								
								api_test.go
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								api_test.go
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -471,7 +471,7 @@ func TestGetContainersTop(t *testing.T) {
 | 
			
		|||
	}
 | 
			
		||||
	defer runtime.Destroy(container)
 | 
			
		||||
	defer func() {
 | 
			
		||||
		// Make sure the process dies before destorying runtime
 | 
			
		||||
		// Make sure the process dies before destroying runtime
 | 
			
		||||
		container.stdin.Close()
 | 
			
		||||
		container.WaitTimeout(2 * time.Second)
 | 
			
		||||
	}()
 | 
			
		||||
| 
						 | 
				
			
			@ -563,7 +563,7 @@ func TestGetContainersByName(t *testing.T) {
 | 
			
		|||
		t.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
	if outContainer.ID != container.ID {
 | 
			
		||||
		t.Fatalf("Wrong containers retrieved. Expected %s, recieved %s", container.ID, outContainer.ID)
 | 
			
		||||
		t.Fatalf("Wrong containers retrieved. Expected %s, received %s", container.ID, outContainer.ID)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -802,7 +802,7 @@ func TestPostContainersStart(t *testing.T) {
 | 
			
		|||
 | 
			
		||||
	r = httptest.NewRecorder()
 | 
			
		||||
	if err = postContainersStart(srv, APIVERSION, r, req, map[string]string{"name": container.ID}); err == nil {
 | 
			
		||||
		t.Fatalf("A running containter should be able to be started")
 | 
			
		||||
		t.Fatalf("A running container should be able to be started")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if err := container.Kill(); err != nil {
 | 
			
		||||
| 
						 | 
				
			
			@ -926,7 +926,7 @@ func TestPostContainersAttach(t *testing.T) {
 | 
			
		|||
	stdin, stdinPipe := io.Pipe()
 | 
			
		||||
	stdout, stdoutPipe := io.Pipe()
 | 
			
		||||
 | 
			
		||||
	// Try to avoid the timeoout in destroy. Best effort, don't check error
 | 
			
		||||
	// Try to avoid the timeout in destroy. Best effort, don't check error
 | 
			
		||||
	defer func() {
 | 
			
		||||
		closeWrap(stdin, stdinPipe, stdout, stdoutPipe)
 | 
			
		||||
		container.Kill()
 | 
			
		||||
| 
						 | 
				
			
			@ -982,7 +982,7 @@ func TestPostContainersAttach(t *testing.T) {
 | 
			
		|||
		t.Fatalf("/bin/cat is not running after closing stdin")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Try to avoid the timeoout in destroy. Best effort, don't check error
 | 
			
		||||
	// Try to avoid the timeout in destroy. Best effort, don't check error
 | 
			
		||||
	cStdin, _ := container.StdinPipe()
 | 
			
		||||
	cStdin.Close()
 | 
			
		||||
	container.Wait()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -98,7 +98,7 @@ func TarFilter(path string, compression Compression, filter []string) (io.Reader
 | 
			
		|||
 | 
			
		||||
// Untar reads a stream of bytes from `archive`, parses it as a tar archive,
 | 
			
		||||
// and unpacks it into the directory at `path`.
 | 
			
		||||
// The archive may be compressed with one of the following algorithgms:
 | 
			
		||||
// The archive may be compressed with one of the following algorithms:
 | 
			
		||||
//  identity (uncompressed), gzip, bzip2, xz.
 | 
			
		||||
// FIXME: specify behavior when target path exists vs. doesn't exist.
 | 
			
		||||
func Untar(archive io.Reader, path string) error {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -509,7 +509,7 @@ func (b *buildFile) Build(context io.Reader) (string, error) {
 | 
			
		|||
		fmt.Fprintf(b.out, "Successfully built %s\n", utils.TruncateID(b.image))
 | 
			
		||||
		return b.image, nil
 | 
			
		||||
	}
 | 
			
		||||
	return "", fmt.Errorf("An error occured during the build\n")
 | 
			
		||||
	return "", fmt.Errorf("An error occurred during the build\n")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func NewBuildFile(srv *Server, out io.Writer, verbose, utilizeCache bool) BuildFile {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -194,7 +194,7 @@ func (cli *DockerCli) CmdBuild(args ...string) error {
 | 
			
		|||
	}
 | 
			
		||||
	var body io.Reader
 | 
			
		||||
	// Setup an upload progress bar
 | 
			
		||||
	// FIXME: ProgressReader shouldn't be this annoyning to use
 | 
			
		||||
	// FIXME: ProgressReader shouldn't be this annoying to use
 | 
			
		||||
	if context != nil {
 | 
			
		||||
		sf := utils.NewStreamFormatter(false)
 | 
			
		||||
		body = utils.ProgressReader(ioutil.NopCloser(context), 0, cli.err, sf.FormatProgress("", "Uploading context", "%v bytes%0.0s%0.0s"), sf, true)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -373,7 +373,7 @@ func TestAttachDisconnect(t *testing.T) {
 | 
			
		|||
		t.Fatalf("/bin/cat is not running after closing stdin")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Try to avoid the timeoout in destroy. Best effort, don't check error
 | 
			
		||||
	// Try to avoid the timeout in destroy. Best effort, don't check error
 | 
			
		||||
	cStdin, _ := container.StdinPipe()
 | 
			
		||||
	cStdin.Close()
 | 
			
		||||
	container.Wait()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -186,7 +186,7 @@ func TestDiff(t *testing.T) {
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Create a new containere
 | 
			
		||||
	// Create a new container
 | 
			
		||||
	container3, _, _ := mkContainer(runtime, []string{"_", "rm", "/bin/httpd"}, t)
 | 
			
		||||
	defer runtime.Destroy(container3)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -351,10 +351,10 @@ func TestStart(t *testing.T) {
 | 
			
		|||
		t.Errorf("Container should be running")
 | 
			
		||||
	}
 | 
			
		||||
	if err := container.Start(hostConfig); err == nil {
 | 
			
		||||
		t.Fatalf("A running containter should be able to be started")
 | 
			
		||||
		t.Fatalf("A running container should be able to be started")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Try to avoid the timeoout in destroy. Best effort, don't check error
 | 
			
		||||
	// Try to avoid the timeout in destroy. Best effort, don't check error
 | 
			
		||||
	cStdin.Close()
 | 
			
		||||
	container.WaitTimeout(2 * time.Second)
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -771,7 +771,7 @@ func TestUser(t *testing.T) {
 | 
			
		|||
		Image: GetTestImage(runtime).ID,
 | 
			
		||||
		Cmd:   []string{"id"},
 | 
			
		||||
 | 
			
		||||
		User: "unkownuser",
 | 
			
		||||
		User: "unknownuser",
 | 
			
		||||
	},
 | 
			
		||||
	)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -37,7 +37,7 @@ func main() {
 | 
			
		|||
	flag.Var(&flHosts, "H", "tcp://host:port to bind/connect to or unix://path/to/socket to use")
 | 
			
		||||
	flag.Parse()
 | 
			
		||||
	if len(flHosts) > 1 {
 | 
			
		||||
		flHosts = flHosts[1:] //trick to display a nice defaul value in the usage
 | 
			
		||||
		flHosts = flHosts[1:] //trick to display a nice default value in the usage
 | 
			
		||||
	}
 | 
			
		||||
	for i, flHost := range flHosts {
 | 
			
		||||
		flHosts[i] = utils.ParseHost(docker.DEFAULTHTTPHOST, docker.DEFAULTHTTPPORT, flHost)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -28,7 +28,7 @@ Usage
 | 
			
		|||
Working using GitHub's file editor
 | 
			
		||||
----------------------------------
 | 
			
		||||
Alternatively, for small changes and typo's you might want to use GitHub's built in file editor. It allows
 | 
			
		||||
you to preview your changes right online. Just be carefull not to create many commits.
 | 
			
		||||
you to preview your changes right online. Just be careful not to create many commits.
 | 
			
		||||
 | 
			
		||||
Images
 | 
			
		||||
------
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,7 +26,7 @@ Docker Remote API
 | 
			
		|||
2. Versions
 | 
			
		||||
===========
 | 
			
		||||
 | 
			
		||||
The current verson of the API is 1.4
 | 
			
		||||
The current version of the API is 1.4
 | 
			
		||||
 | 
			
		||||
Calling /images/<name>/insert is the same as calling
 | 
			
		||||
/v1.4/images/<name>/insert 
 | 
			
		||||
| 
						 | 
				
			
			@ -107,7 +107,7 @@ The client should send it's authConfig as POST on each call of
 | 
			
		|||
  Only checks the configuration but doesn't store it on the server
 | 
			
		||||
 | 
			
		||||
  Deleting an image is now improved, will only untag the image if it
 | 
			
		||||
  has chidren and remove all the untagged parents if has any.
 | 
			
		||||
  has children and remove all the untagged parents if has any.
 | 
			
		||||
 | 
			
		||||
.. http:post:: /images/<name>/delete 
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -305,8 +305,8 @@ Start a container
 | 
			
		|||
	:statuscode 500: server error
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Stop a contaier
 | 
			
		||||
***************
 | 
			
		||||
Stop a container
 | 
			
		||||
****************
 | 
			
		||||
 | 
			
		||||
.. http:post:: /containers/(id)/stop
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -317,8 +317,8 @@ Start a container
 | 
			
		|||
	:statuscode 500: server error
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Stop a contaier
 | 
			
		||||
***************
 | 
			
		||||
Stop a container
 | 
			
		||||
****************
 | 
			
		||||
 | 
			
		||||
.. http:post:: /containers/(id)/stop
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -365,8 +365,8 @@ Start a container
 | 
			
		|||
        :statuscode 500: server error
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Stop a contaier
 | 
			
		||||
***************
 | 
			
		||||
Stop a container
 | 
			
		||||
****************
 | 
			
		||||
 | 
			
		||||
.. http:post:: /containers/(id)/stop
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -368,8 +368,8 @@ Start a container
 | 
			
		|||
        :statuscode 500: server error
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Stop a contaier
 | 
			
		||||
***************
 | 
			
		||||
Stop a container
 | 
			
		||||
****************
 | 
			
		||||
 | 
			
		||||
.. http:post:: /containers/(id)/stop
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -154,7 +154,7 @@ API (pulling repository foo/bar):
 | 
			
		|||
 | 
			
		||||
.. note::
 | 
			
		||||
 | 
			
		||||
    **It’s possible not to use the Index at all!** In this case, a deployed version of the Registry is deployed to store and serve images. Those images are not authentified and the security is not guaranteed.
 | 
			
		||||
    **It’s possible not to use the Index at all!** In this case, a deployed version of the Registry is deployed to store and serve images. Those images are not authenticated and the security is not guaranteed.
 | 
			
		||||
 | 
			
		||||
.. note::
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -51,7 +51,7 @@ source_suffix = '.rst'
 | 
			
		|||
# The encoding of source files.
 | 
			
		||||
#source_encoding = 'utf-8-sig'
 | 
			
		||||
 | 
			
		||||
#disable the parmalinks on headers, I find them really annoying
 | 
			
		||||
#disable the permalinks on headers, I find them really annoying
 | 
			
		||||
html_add_permalinks = None
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
:title: Contribution Guidelines
 | 
			
		||||
:description: Contribution guidelines: create issues, convetions, pull requests
 | 
			
		||||
:description: Contribution guidelines: create issues, conventions, pull requests
 | 
			
		||||
:keywords: contributing, docker, documentation, help, guideline
 | 
			
		||||
 | 
			
		||||
Contributing to Docker
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,7 +33,7 @@ The password is 'screencast'
 | 
			
		|||
 | 
			
		||||
.. code-block:: bash
 | 
			
		||||
 | 
			
		||||
         # Hello! We are going to try and install openssh on a container and run it as a servic 
 | 
			
		||||
         # Hello! We are going to try and install openssh on a container and run it as a service
 | 
			
		||||
         # let's pull ubuntu to get a base ubuntu image. 
 | 
			
		||||
         $ docker pull ubuntu
 | 
			
		||||
         # I had it so it was quick
 | 
			
		||||
| 
						 | 
				
			
			@ -46,7 +46,7 @@ The password is 'screencast'
 | 
			
		|||
         $ apt-get install openssh-server
 | 
			
		||||
         # ok. lets see if we can run it.
 | 
			
		||||
         $ which sshd
 | 
			
		||||
         # we need to create priviledge separation directory
 | 
			
		||||
         # we need to create privilege separation directory
 | 
			
		||||
         $ mkdir /var/run/sshd
 | 
			
		||||
         $ /usr/sbin/sshd
 | 
			
		||||
         $ exit
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,7 +23,7 @@ dependencies.
 | 
			
		|||
  commit``).
 | 
			
		||||
 | 
			
		||||
Each use of ``docker`` is documented here. The features of Docker are
 | 
			
		||||
currently in active development, so this documention will change
 | 
			
		||||
currently in active development, so this documentation will change
 | 
			
		||||
frequently.
 | 
			
		||||
 | 
			
		||||
For an overview of Docker, please see the `Introduction
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,7 +10,7 @@ Rackspace Cloud
 | 
			
		|||
  :ref:`ubuntu_linux` installation path. This version may sometimes be out of date.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Installing Docker on Ubuntu proviced by Rackspace is pretty straightforward, and you should mostly be able to follow the
 | 
			
		||||
Installing Docker on Ubuntu provided by Rackspace is pretty straightforward, and you should mostly be able to follow the
 | 
			
		||||
:ref:`ubuntu_linux` installation guide.
 | 
			
		||||
 | 
			
		||||
**However, there is one caveat:**
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,7 +14,7 @@ switches the whole rootfs volume to read-write mode.
 | 
			
		|||
Layer
 | 
			
		||||
.....
 | 
			
		||||
 | 
			
		||||
When Docker mounts the rootfs, it starts read-only, as in a tradtional
 | 
			
		||||
When Docker mounts the rootfs, it starts read-only, as in a traditional
 | 
			
		||||
Linux boot, but then, instead of changing the file system to
 | 
			
		||||
read-write mode, it takes advantage of a `union mount
 | 
			
		||||
<http://en.wikipedia.org/wiki/Union_mount>`_ to add a read-write file
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
:title: Working With Repositories
 | 
			
		||||
:description: Repositories allow users to share images.
 | 
			
		||||
:keywords: repo, repositiores, usage, pull image, push image, image, documentation
 | 
			
		||||
:keywords: repo, repositories, usage, pull image, push image, image, documentation
 | 
			
		||||
 | 
			
		||||
.. _working_with_the_repository:
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -71,7 +71,7 @@ function completely independently from the Central Index.
 | 
			
		|||
Find public images available on the Central Index
 | 
			
		||||
-------------------------------------------------
 | 
			
		||||
 | 
			
		||||
Seach by name, namespace or description
 | 
			
		||||
Search by name, namespace or description
 | 
			
		||||
 | 
			
		||||
.. code-block:: bash
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -332,7 +332,7 @@ func newPortMapper() (*PortMapper, error) {
 | 
			
		|||
	return mapper, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Port allocator: Atomatically allocate and release networking ports
 | 
			
		||||
// Port allocator: Automatically allocate and release networking ports
 | 
			
		||||
type PortAllocator struct {
 | 
			
		||||
	sync.Mutex
 | 
			
		||||
	inUse    map[int]struct{}
 | 
			
		||||
| 
						 | 
				
			
			@ -385,7 +385,7 @@ func newPortAllocator() (*PortAllocator, error) {
 | 
			
		|||
	return allocator, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IP allocator: Atomatically allocate and release networking ports
 | 
			
		||||
// IP allocator: Automatically allocate and release networking ports
 | 
			
		||||
type IPAllocator struct {
 | 
			
		||||
	network       *net.IPNet
 | 
			
		||||
	queueAlloc    chan allocatedIP
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										10
									
								
								server.go
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								server.go
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -425,7 +425,7 @@ func (srv *Server) pullImage(r *registry.Registry, out io.Writer, imgID, endpoin
 | 
			
		|||
			out.Write(sf.FormatProgress(utils.TruncateID(id), "Pulling", "metadata"))
 | 
			
		||||
			imgJSON, imgSize, err := r.GetRemoteImageJSON(id, endpoint, token)
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				// FIXME: Keep goging in case of error?
 | 
			
		||||
				// FIXME: Keep going in case of error?
 | 
			
		||||
				return err
 | 
			
		||||
			}
 | 
			
		||||
			img, err := NewImgJSON(imgJSON)
 | 
			
		||||
| 
						 | 
				
			
			@ -565,7 +565,7 @@ func (srv *Server) poolAdd(kind, key string) error {
 | 
			
		|||
		srv.pushingPool[key] = struct{}{}
 | 
			
		||||
		break
 | 
			
		||||
	default:
 | 
			
		||||
		return fmt.Errorf("Unkown pool type")
 | 
			
		||||
		return fmt.Errorf("Unknown pool type")
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -579,7 +579,7 @@ func (srv *Server) poolRemove(kind, key string) error {
 | 
			
		|||
		delete(srv.pushingPool, key)
 | 
			
		||||
		break
 | 
			
		||||
	default:
 | 
			
		||||
		return fmt.Errorf("Unkown pool type")
 | 
			
		||||
		return fmt.Errorf("Unknown pool type")
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -693,7 +693,7 @@ func (srv *Server) pushImage(r *registry.Registry, out io.Writer, remote, imgID,
 | 
			
		|||
	out = utils.NewWriteFlusher(out)
 | 
			
		||||
	jsonRaw, err := ioutil.ReadFile(path.Join(srv.runtime.graph.Root, imgID, "json"))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return "", fmt.Errorf("Error while retreiving the path for {%s}: %s", imgID, err)
 | 
			
		||||
		return "", fmt.Errorf("Error while retrieving the path for {%s}: %s", imgID, err)
 | 
			
		||||
	}
 | 
			
		||||
	out.Write(sf.FormatStatus("", "Pushing %s", imgID))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -731,7 +731,7 @@ func (srv *Server) pushImage(r *registry.Registry, out io.Writer, remote, imgID,
 | 
			
		|||
	return imgData.Checksum, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// FIXME: Allow to interupt current push when new push of same image is done.
 | 
			
		||||
// FIXME: Allow to interrupt current push when new push of same image is done.
 | 
			
		||||
func (srv *Server) ImagePush(localName string, out io.Writer, sf *utils.StreamFormatter, authConfig *auth.AuthConfig) error {
 | 
			
		||||
	if err := srv.poolAdd("push", localName); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -283,8 +283,8 @@ func TestPools(t *testing.T) {
 | 
			
		|||
		t.Fatalf("Expected `pull test1 is already in progress`")
 | 
			
		||||
	}
 | 
			
		||||
	err = srv.poolAdd("wait", "test3")
 | 
			
		||||
	if err == nil || err.Error() != "Unkown pool type" {
 | 
			
		||||
		t.Fatalf("Expected `Unkown pool type`")
 | 
			
		||||
	if err == nil || err.Error() != "Unknown pool type" {
 | 
			
		||||
		t.Fatalf("Expected `Unknown pool type`")
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	err = srv.poolRemove("pull", "test2")
 | 
			
		||||
| 
						 | 
				
			
			@ -304,8 +304,8 @@ func TestPools(t *testing.T) {
 | 
			
		|||
		t.Fatal(err)
 | 
			
		||||
	}
 | 
			
		||||
	err = srv.poolRemove("wait", "test3")
 | 
			
		||||
	if err == nil || err.Error() != "Unkown pool type" {
 | 
			
		||||
		t.Fatalf("Expected `Unkown pool type`")
 | 
			
		||||
	if err == nil || err.Error() != "Unknown pool type" {
 | 
			
		||||
		t.Fatalf("Expected `Unknown pool type`")
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -219,7 +219,7 @@ func assertIndexGet(t *testing.T, index *TruncIndex, input, expectedResult strin
 | 
			
		|||
 | 
			
		||||
func assertKernelVersion(t *testing.T, a, b *KernelVersionInfo, result int) {
 | 
			
		||||
	if r := CompareKernelVersion(a, b); r != result {
 | 
			
		||||
		t.Fatalf("Unepected kernel version comparaison result. Found %d, expected %d", r, result)
 | 
			
		||||
		t.Fatalf("Unexpected kernel version comparison result. Found %d, expected %d", r, result)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue