Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64
Your IP : 3.135.209.20
#!/bin/sh
# Copyright (C) 2012-2014, Benjamin Drung <bdrung@debian.org>
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
COMMAND="debian-distro-info"
. "${0%/*}/shunit2-helper-functions.sh"
testAlias() {
success "--alias sid" "unstable"
success "--date 2010-10-20 --alias squeeze" "testing"
success "--date 2011-11-20 --alias squeeze" "stable"
success "--alias whatever" "whatever"
}
testAll() {
local result="buzz
rex
bo
hamm
slink
potato
woody
sarge
etch
lenny
squeeze
sid
experimental"
local pattern=$(echo $result | sed "s/ /\\\\|/g")
success "--date 2007-07-07 --all | grep -w \"$pattern\"" "$result"
success "-a | grep -w \"$pattern\"" "$result"
}
testDevel() {
success "--date 2011-01-10 --devel" "sid"
success "-d --date=2002-01-10 --codename" "sid"
}
testOldstable() {
success "--oldstable --date=2011-01-10" "etch"
success "-c --date=2008-07-06 -o" "sarge"
# Compatibility with 0.2.2
success "--old --date=2011-01-10" "etch"
}
testStable() {
success "--date=2011-01-10 --stable" "lenny"
success "--date=2001-02-10 -s" "potato"
}
testSupported() {
local result="lenny
squeeze
sid
experimental"
success "--date=2011-01-10 --supported" "$result"
}
testUnsupported() {
local result="buzz
rex
bo
hamm
slink
potato
woody
sarge
etch"
success "--date=2011-01-10 --unsupported" "$result"
}
testTesting() {
success "--date=2011-01-10 --testing" "squeeze"
success "-t --date=2010-01-10" "squeeze"
}
testFullname() {
success "--date=2011-01-10 --stable --fullname" 'Debian 5.0 "Lenny"'
success "--date=2011-01-10 --stable --fullname -ycreated" \
'Debian 5.0 "Lenny" -1373'
success "--date=2011-01-10 --stable --fullname --days=created" \
'Debian 5.0 "Lenny" -1373'
success "--date=2011-01-10 --stable --fullname -y" \
'Debian 5.0 "Lenny" -695'
success "--date=2011-01-10 --stable --fullname --days" \
'Debian 5.0 "Lenny" -695'
success "--date=2011-01-10 --stable --fullname -yrelease" \
'Debian 5.0 "Lenny" -695'
success "--date=2011-01-10 --stable --fullname --days=release" \
'Debian 5.0 "Lenny" -695'
success "--date=2011-01-10 --stable --fullname -yeol" \
'Debian 5.0 "Lenny" 392'
success "--date=2011-01-10 --stable --fullname --days=eol" \
'Debian 5.0 "Lenny" 392'
success "--date=2011-01-10 -f --testing" 'Debian 6.0 "Squeeze"'
success "--date=2011-01-10 -f --testing -ycreated" \
'Debian 6.0 "Squeeze" -695'
success "--date=2011-01-10 -f --testing --days=created" \
'Debian 6.0 "Squeeze" -695'
success "--date=2011-01-10 -f --testing -y" \
'Debian 6.0 "Squeeze" 27'
success "--date=2011-01-10 -f --testing --days" \
'Debian 6.0 "Squeeze" 27'
success "--date=2011-01-10 -f --testing -yrelease" \
'Debian 6.0 "Squeeze" 27'
success "--date=2011-01-10 -f --testing --days=release" \
'Debian 6.0 "Squeeze" 27'
# sid is never released so can never go eol
success "--date=2011-01-10 -f --devel -yeol" \
'Debian "Sid" (unknown)'
success "--date=2011-01-10 -f --devel --days=eol" \
'Debian "Sid" (unknown)'
}
testRelease() {
success "--date=2011-01-10 -r --devel" "sid"
success "--date=2011-01-10 --testing --release" "6.0"
success "--date=2011-01-10 --release --stable" "5.0"
}
testSeries() {
success "-r --series rex" "1.2"
}
testCombinedShortform() {
success "-rd" "sid"
}
testReleaseDate() {
success "--date 2009-02-13 -o" "sarge"
success "--date 2009-02-13 -s" "etch"
success "--date 2009-02-13 -t" "lenny"
success "--date 2009-02-13 -d" "sid"
success "--date 2009-02-14 -o" "etch"
success "--date 2009-02-14 -s" "lenny"
success "--date 2009-02-14 -t" "squeeze"
success "--date 2009-02-14 -d" "sid"
}
testHelp() {
local help='Usage: debian-distro-info [options]
Options:
-h --help show this help message and exit
--date=DATE date for calculating the version (default: today)
--series=SERIES series to calculate the version for
-y[MILESTONE] additionally, display days until milestone
--days=[MILESTONE] (created, release, eol)
--alias=DIST print the alias (oldstable, stable, testing, unstable)
relative to the given distribution codename
-a --all list all known versions
-d --devel latest development version
-o --oldstable latest oldstable version
-s --stable latest stable version
--supported list of all supported stable versions
-t --testing current testing version
--unsupported list of all unsupported stable versions
-c --codename print the codename (default)
-f --fullname print the full name
-r --release print the release version
See debian-distro-info(1) for more info.'
success "--help" "$help"
success "-h" "$help"
}
testExactlyOne() {
local result='debian-distro-info: You have to select exactly one of --alias, --all, --devel, --oldstable, --stable, --supported, --series, --testing, --unsupported.'
failure "" "$result"
failure "-ad" "$result"
failure "--alias foo -a" "$result"
}
testUnrecognizedOption() {
failure "--foo" "debian-distro-info: unrecognized option \`--foo'"
failure "-x" "debian-distro-info: unrecognized option \`-x'"
failure "--lts" "debian-distro-info: unrecognized option \`--lts'"
}
testUnrecognizedArguments() {
failure "bar" "debian-distro-info: unrecognized arguments: bar"
failure "baz -s foo" "debian-distro-info: unrecognized arguments: baz foo"
}
testMissingArgumentAlias() {
failure "--alias" "debian-distro-info: option \`--alias' requires an argument DIST"
}
testMissingArgumentDate() {
failure "--date" "debian-distro-info: option \`--date' requires an argument DATE"
}
testMissingArgumentSeries() {
failure "--series" "debian-distro-info: option \`--series' requires an argument SERIES"
}
testInvalidAlias() {
failure "--alias Sid" "debian-distro-info: invalid distribution codename \`Sid'"
failure "--alias wr0ng" "debian-distro-info: invalid distribution codename \`wr0ng'"
}
testInvalidDate() {
failure "--date fail -s" "debian-distro-info: invalid date \`fail'"
failure "--date=2010-02-30 -d" "debian-distro-info: invalid date \`2010-02-30'"
}
testInvalidSeries() {
failure "--series wr0ng" "debian-distro-info: invalid distribution series \`wr0ng'"
}
testMultipleAlias() {
failure "--alias a --alias b" "debian-distro-info: --alias requested multiple times."
}
testMultipleDates() {
failure "--date 2007-06-05 -s --date 2004-03-02" "debian-distro-info: Date specified multiple times."
}
testMultipleSeries() {
failure "--series wheezy --series jessie" "debian-distro-info: series requested multiple times."
}
testUnknownSeries() {
failure "--series foobar" "debian-distro-info: unknown distribution series \`foobar'"
}
testDays() {
# day after lenny released
date=2009-02-15
success "--date=$date --stable " "lenny"
success "--date=$date --stable --days=created" "-679"
success "--date=$date --stable --days=created -c" "lenny -679"
success "--date=$date --stable --days=created -f" "Debian 5.0 \"Lenny\" -679"
success "--date=$date --stable --days=created -r" "5.0 -679"
success "--date=$date --stable --days=release" "-1"
success "--date=$date --stable --days=release -c" "lenny -1"
success "--date=$date --stable --days=release -f" "Debian 5.0 \"Lenny\" -1"
success "--date=$date --stable --days=release -r" "5.0 -1"
success "--date=$date --stable --days" "-1"
success "--date=$date --stable --days -c" "lenny -1"
success "--date=$date --stable --days -f" "Debian 5.0 \"Lenny\" -1"
success "--date=$date --stable --days -r" "5.0 -1"
success "--date=$date --stable --days=eol" "1086"
success "--date=$date --stable --days=eol -c" "lenny 1086"
success "--date=$date --stable --days=eol -f" "Debian 5.0 \"Lenny\" 1086"
success "--date=$date --stable --days=eol -r" "5.0 1086"
# date woody released
date=2002-07-19
success "--date=$date --stable" "woody"
success "--date=$date --stable --days=created" "-703"
success "--date=$date --stable --days=created -c" "woody -703"
success "--date=$date --stable --days=created -f" "Debian 3.0 \"Woody\" -703"
success "--date=$date --stable --days=created -r" "3.0 -703"
success "--date=$date --stable --days=release" "0"
success "--date=$date --stable --days=release -c" "woody 0"
success "--date=$date --stable --days=release -f" "Debian 3.0 \"Woody\" 0"
success "--date=$date --stable --days=release -r" "3.0 0"
success "--date=$date --stable --days" "0"
success "--date=$date --stable --days -c" "woody 0"
success "--date=$date --stable --days -f" "Debian 3.0 \"Woody\" 0"
success "--date=$date --stable --days -r" "3.0 0"
success "--date=$date --stable --days=eol" "1442"
success "--date=$date --stable --days=eol -c" "woody 1442"
success "--date=$date --stable --days=eol -f" "Debian 3.0 \"Woody\" 1442"
success "--date=$date --stable --days=eol -r" "3.0 1442"
# day before etch was released
date=2007-04-07
success "--testing --date=$date" "etch"
success "--testing --date=$date --days=created" "-670"
success "--testing --date=$date --days=created -c" "etch -670"
success "--testing --date=$date --days=created -f" "Debian 4.0 \"Etch\" -670"
success "--testing --date=$date --days=created -r" "4.0 -670"
success "--testing --date=$date --days" "1"
success "--testing --date=$date --days -c" "etch 1"
success "--testing --date=$date --days -f" "Debian 4.0 \"Etch\" 1"
success "--testing --date=$date --days -r" "4.0 1"
success "--testing --date=$date --days=release" "1"
success "--testing --date=$date --days=release -c" "etch 1"
success "--testing --date=$date --days=release -f" "Debian 4.0 \"Etch\" 1"
success "--testing --date=$date --days=release -r" "4.0 1"
success "--testing --date=$date --days=eol" "1045"
success "--testing --date=$date --days=eol -c" "etch 1045"
success "--testing --date=$date --days=eol -f" "Debian 4.0 \"Etch\" 1045"
success "--testing --date=$date --days=eol -r" "4.0 1045"
}
. shunit2
|