github.com/containers/podman/v5@v5.1.0-rc1/test/system/620-option-conflicts.bats (about) 1 #!/usr/bin/env bats -*- bats -*- 2 # 3 # options that cannot be set together 4 # 5 6 load helpers 7 8 9 @test "options that cannot be set together" { 10 skip_if_remote "not much point testing remote, and container-cleanup fails anyway" 11 12 tests=" 13 create,run | --cpu-period=1 | --cpus=2 | $IMAGE 14 create,run | --cpu-quota=1 | --cpus=2 | $IMAGE 15 create,run | --no-hosts | --add-host=foo:1.1.1.1 | $IMAGE 16 create,run | --userns=bar | --pod=foo | $IMAGE 17 container cleanup | --all | --exec=foo 18 container cleanup | --exec=foo | --rmi | foo 19 " 20 21 # Run all tests, continue even if any fail 22 defer-assertion-failures 23 24 # FIXME: parse_table is what does all the work, giving us test cases. 25 while read subcommands opt1 opt2 args; do 26 opt1_name=${opt1%=*} 27 opt2_name=${opt2%=*} 28 29 readarray -d, -t subcommand_list <<<$subcommands 30 for subcommand in "${subcommand_list[@]}"; do 31 run_podman 125 $subcommand $opt1 $opt2 $args 32 is "$output" "Error: $opt1_name and $opt2_name cannot be set together" \ 33 "podman $subcommand $opt1 $opt2" 34 35 # Reverse order 36 run_podman 125 $subcommand $opt2 $opt1 $args 37 is "$output" "Error: $opt1_name and $opt2_name cannot be set together" \ 38 "podman $subcommand $opt2 $opt1" 39 done 40 done < <(parse_table "$tests") 41 42 # Different error message; cannot be tested with the other ones above 43 for opt in arch os; do 44 for cmd in create pull; do 45 run_podman 125 $cmd --platform=foo --$opt=bar sdfsdf 46 is "$output" "Error: --platform option can not be specified with --arch or --os" \ 47 "podman $cmd --platform + --$opt" 48 done 49 done 50 } 51 52 53 # vim: filetype=sh