mirror of
https://github.com/openSUSE/osc.git
synced 2024-11-15 16:46:14 +01:00
Daniel Mach
4255711344
Examples: osc checkout --setopt='include_files=*.spec *.changes' osc checkout --setopt='exclude_files=*.tar.* *.obscpio'
97 lines
5.3 KiB
Gherkin
97 lines
5.3 KiB
Gherkin
Feature: `osc checkout` command
|
|
|
|
|
|
Scenario: Run `osc checkout` on a project
|
|
Given I set working directory to "{context.osc.temp}"
|
|
When I execute osc with args "checkout test:factory"
|
|
Then directory "{context.osc.temp}/test:factory" exists
|
|
And directory "{context.osc.temp}/test:factory/.osc" exists
|
|
And directory "{context.osc.temp}/test:factory/test-pkgA" exists
|
|
And directory "{context.osc.temp}/test:factory/test-pkgA/.osc" exists
|
|
And file "{context.osc.temp}/test:factory/test-pkgA/test-pkgA.spec" exists
|
|
And file "{context.osc.temp}/test:factory/test-pkgA/test-pkgA.changes" exists
|
|
And directory "{context.osc.temp}/test:factory/test-pkgB" exists
|
|
And directory "{context.osc.temp}/test:factory/test-pkgB/.osc" exists
|
|
And file "{context.osc.temp}/test:factory/test-pkgB/test-pkgB.spec" exists
|
|
And file "{context.osc.temp}/test:factory/test-pkgB/test-pkgB.changes" exists
|
|
|
|
|
|
Scenario: Run `osc checkout` on a package
|
|
Given I set working directory to "{context.osc.temp}"
|
|
When I execute osc with args "checkout test:factory test-pkgA"
|
|
Then directory "{context.osc.temp}/test:factory" exists
|
|
And directory "{context.osc.temp}/test:factory/.osc" exists
|
|
And directory "{context.osc.temp}/test:factory/test-pkgA" exists
|
|
And directory "{context.osc.temp}/test:factory/test-pkgA/.osc" exists
|
|
And file "{context.osc.temp}/test:factory/test-pkgA/test-pkgA.spec" exists
|
|
And file "{context.osc.temp}/test:factory/test-pkgA/test-pkgA.changes" exists
|
|
And directory "{context.osc.temp}/test:factory/test-pkgB" does not exist
|
|
|
|
|
|
# Unlike other checkouts, file checkout doesn't create any subdirs
|
|
# and puts files directly in the working directory.
|
|
Scenario: Run `osc checkout` on a file
|
|
Given I set working directory to "{context.osc.temp}"
|
|
When I execute osc with args "checkout test:factory test-pkgA test-pkgA.spec"
|
|
Then directory "{context.osc.temp}/test:factory" does not exist
|
|
And file "{context.osc.temp}/test-pkgA.spec" exists
|
|
And file "{context.osc.temp}/test-pkgA.changes" does not exist
|
|
|
|
|
|
Scenario: Run `osc checkout` on a package, use a file size limit
|
|
Given I set working directory to "{context.osc.temp}"
|
|
When I execute osc with args "checkout test:factory test-pkgA --limit-size=200"
|
|
And file "{context.osc.temp}/test:factory/test-pkgA/test-pkgA.spec" does not exist
|
|
And file "{context.osc.temp}/test:factory/test-pkgA/test-pkgA.changes" exists
|
|
|
|
|
|
Scenario: Run `osc checkout` on a package, exclude files
|
|
Given I set working directory to "{context.osc.temp}"
|
|
When I execute osc with args "checkout test:factory test-pkgA --setopt=exclude_files=*.changes"
|
|
And file "{context.osc.temp}/test:factory/test-pkgA/test-pkgA.spec" exists
|
|
And file "{context.osc.temp}/test:factory/test-pkgA/test-pkgA.changes" does not exist
|
|
|
|
|
|
Scenario: Run `osc checkout` on a package, include files
|
|
Given I set working directory to "{context.osc.temp}"
|
|
When I execute osc with args "checkout test:factory test-pkgA --setopt=include_files=*.changes"
|
|
And file "{context.osc.temp}/test:factory/test-pkgA/test-pkgA.spec" does not exist
|
|
And file "{context.osc.temp}/test:factory/test-pkgA/test-pkgA.changes" exists
|
|
|
|
|
|
Scenario: Run `osc checkout` on a package, exclude and include files
|
|
Given I set working directory to "{context.osc.temp}"
|
|
When I execute osc with args "checkout test:factory test-pkgA --setopt=exclude_files=*.changes --setopt=include_files=*.changes"
|
|
And file "{context.osc.temp}/test:factory/test-pkgA/test-pkgA.spec" does not exist
|
|
And file "{context.osc.temp}/test:factory/test-pkgA/test-pkgA.changes" does not exist
|
|
|
|
|
|
Scenario: Run `osc checkout` on a package in a specified revision
|
|
Given I set working directory to "{context.osc.temp}"
|
|
When I execute osc with args "checkout test:factory test-pkgA --revision=2"
|
|
Then file "{context.osc.temp}/test:factory/test-pkgA/test-pkgA.spec" is identical to "{context.fixtures}/pac/test-pkgA-2.spec"
|
|
And file "{context.osc.temp}/test:factory/test-pkgA/test-pkgA.changes" is identical to "{context.fixtures}/pac/test-pkgA-2.changes"
|
|
|
|
|
|
Scenario: Run `osc checkout` on a package, place the files in a specified output directory
|
|
Given I set working directory to "{context.osc.temp}"
|
|
When I execute osc with args "checkout test:factory test-pkgA --output-dir=pkgA"
|
|
And directory "{context.osc.temp}/test:factory/test-pkgA" does not exist
|
|
And directory "{context.osc.temp}/pkgA" exists
|
|
And directory "{context.osc.temp}/pkgA/.osc" exists
|
|
And file "{context.osc.temp}/pkgA/test-pkgA.spec" exists
|
|
And file "{context.osc.temp}/pkgA/test-pkgA.changes" exists
|
|
|
|
|
|
# TODO(dmach): revisit this functionality
|
|
# Working dir becomes a project dir, package goes into a subdirectory.
|
|
# One would expect the package to go to the working dir.
|
|
Scenario: Run `osc checkout` on a package, place the files in the working directory
|
|
Given I set working directory to "{context.osc.temp}"
|
|
When I execute osc with args "checkout test:factory test-pkgA --current-dir"
|
|
And directory "{context.osc.temp}/test:factory/test-pkgA" does not exist
|
|
And directory "{context.osc.temp}/.osc" exists
|
|
And directory "{context.osc.temp}/test-pkgA/.osc" exists
|
|
And file "{context.osc.temp}/test-pkgA/test-pkgA.spec" exists
|
|
And file "{context.osc.temp}/test-pkgA/test-pkgA.changes" exists
|