Merge pull request #1012 from mokibit/automate-exit-from-tests
tests/integration: Automate manual `exit-from` tests
This commit is contained in:
		
						commit
						a1e9a82693
					
				| 
						 | 
				
			
			@ -1,15 +0,0 @@
 | 
			
		|||
We have service named sh1 that exits with code 1 and sh2 that exists with code 2
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
podman-compose up --exit-code-from=sh1
 | 
			
		||||
echo $?
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
the above should give 1.
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
podman-compose up --exit-code-from=sh2
 | 
			
		||||
echo $?
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
the above should give 2.
 | 
			
		||||
| 
						 | 
				
			
			@ -1,11 +1,5 @@
 | 
			
		|||
version: "3"
 | 
			
		||||
services:
 | 
			
		||||
    too_long:
 | 
			
		||||
      image: nopush/podman-compose-test
 | 
			
		||||
      command: ["dumb-init", "/bin/busybox", "sh", "-c", "sleep 3600; exit 0"]
 | 
			
		||||
      tmpfs:
 | 
			
		||||
        - /run
 | 
			
		||||
        - /tmp
 | 
			
		||||
    sh1:
 | 
			
		||||
      image: nopush/podman-compose-test
 | 
			
		||||
      command: ["dumb-init", "/bin/busybox", "sh", "-c", "sleep 1; exit 1"]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,54 @@
 | 
			
		|||
# SPDX-License-Identifier: GPL-2.0
 | 
			
		||||
 | 
			
		||||
import os
 | 
			
		||||
import unittest
 | 
			
		||||
 | 
			
		||||
from tests.integration.test_podman_compose import podman_compose_path
 | 
			
		||||
from tests.integration.test_podman_compose import test_path
 | 
			
		||||
from tests.integration.test_utils import RunSubprocessMixin
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def compose_yaml_path():
 | 
			
		||||
    return os.path.join(os.path.join(test_path(), "exit-from"), "docker-compose.yaml")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TestComposeExitFrom(unittest.TestCase, RunSubprocessMixin):
 | 
			
		||||
    def test_exit_code_sh1(self):
 | 
			
		||||
        try:
 | 
			
		||||
            self.run_subprocess_assert_returncode(
 | 
			
		||||
                [
 | 
			
		||||
                    podman_compose_path(),
 | 
			
		||||
                    "-f",
 | 
			
		||||
                    compose_yaml_path(),
 | 
			
		||||
                    "up",
 | 
			
		||||
                    "--exit-code-from=sh1",
 | 
			
		||||
                ],
 | 
			
		||||
                1,
 | 
			
		||||
            )
 | 
			
		||||
        finally:
 | 
			
		||||
            self.run_subprocess_assert_returncode([
 | 
			
		||||
                podman_compose_path(),
 | 
			
		||||
                "-f",
 | 
			
		||||
                compose_yaml_path(),
 | 
			
		||||
                "down",
 | 
			
		||||
            ])
 | 
			
		||||
 | 
			
		||||
    def test_exit_code_sh2(self):
 | 
			
		||||
        try:
 | 
			
		||||
            self.run_subprocess_assert_returncode(
 | 
			
		||||
                [
 | 
			
		||||
                    podman_compose_path(),
 | 
			
		||||
                    "-f",
 | 
			
		||||
                    compose_yaml_path(),
 | 
			
		||||
                    "up",
 | 
			
		||||
                    "--exit-code-from=sh2",
 | 
			
		||||
                ],
 | 
			
		||||
                2,
 | 
			
		||||
            )
 | 
			
		||||
        finally:
 | 
			
		||||
            self.run_subprocess_assert_returncode([
 | 
			
		||||
                podman_compose_path(),
 | 
			
		||||
                "-f",
 | 
			
		||||
                compose_yaml_path(),
 | 
			
		||||
                "down",
 | 
			
		||||
            ])
 | 
			
		||||
		Loading…
	
		Reference in New Issue