test-sourceslist-lang-plusminus-options 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #!/bin/sh
  2. set -e
  3. TESTDIR=$(readlink -f $(dirname $0))
  4. . $TESTDIR/framework
  5. setupenvironment
  6. configarchitecture 'native'
  7. testlangs() {
  8. msgtest 'Test acquired languages for' "$1"
  9. local LANGS="$2"
  10. shift 2
  11. rm -f gotlangs.list
  12. aptget indextargets --no-release-info 'Created-By: Translations' "$@" --format '$(LANGUAGE)' | sort -u > gotlangs.list
  13. if [ -z "$LANGS" ]; then
  14. echo -n | tr ',' '\n' | sort | checkdiff - gotlangs.list && msgpass || msgfail
  15. else
  16. echo -n "$LANGS" | tr ',' '\n' | sort | checkdiff - gotlangs.list && msgpass || msgfail
  17. fi
  18. }
  19. echo 'deb http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list
  20. testlangs 'default' 'en'
  21. echo 'Acquire::Languages "environment,en";' > rootdir/etc/apt/apt.conf.d/langs.conf
  22. testlangs 'default config' 'en'
  23. echo 'Acquire::Languages "en,en,en";' > rootdir/etc/apt/apt.conf.d/langs.conf
  24. testlangs 'duplicated config' 'en'
  25. echo 'Acquire::Languages "none";' > rootdir/etc/apt/apt.conf.d/langs.conf
  26. testlangs 'none config' ''
  27. echo 'Acquire::Languages "en,none,de,de_DE";' > rootdir/etc/apt/apt.conf.d/langs.conf
  28. testlangs 'english + german config' 'en,de,de_DE'
  29. echo 'deb [lang=pt] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list
  30. testlangs 'lang=pt' 'pt'
  31. echo 'deb [lang=en] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list
  32. testlangs 'lang=en' 'en'
  33. echo 'deb [lang=de_DE] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list
  34. testlangs 'lang=de_DE' 'de_DE'
  35. echo 'deb [lang=none] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list
  36. testlangs 'lang=none' ''
  37. testequal 'amd64' aptget indextargets --no-release-info 'Created-By: Packages' --format '$(ARCHITECTURE)'
  38. echo 'deb [lang+=pt] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list
  39. testlangs 'lang+=pt' 'en,de,de_DE,pt'
  40. echo 'deb [lang+=en] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list
  41. testlangs 'lang+=en' 'en,de,de_DE'
  42. echo 'deb [lang+=de_DE] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list
  43. testlangs 'lang+=de_DE' 'en,de,de_DE'
  44. echo 'deb [lang-=pt] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list
  45. testlangs 'lang-=pt' 'en,de,de_DE'
  46. echo 'deb [lang-=en] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list
  47. testlangs 'lang-=en' 'de,de_DE'
  48. echo 'deb [lang-=de_DE] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list
  49. testlangs 'lang-=de_DE' 'en,de'
  50. echo 'deb http://example.org/debian stable rocks
  51. deb http://example.org/debian stable solid' > rootdir/etc/apt/sources.list
  52. testlangs 'english + german config multicomponent' 'en,de,de_DE'
  53. echo 'deb http://example.org/debian stable rocks
  54. deb [lang=pt] http://example.org/debian stable solid' > rootdir/etc/apt/sources.list
  55. testlangs 'multicomponent one lang= combined' 'en,de,de_DE,pt'
  56. testlangs 'multicomponent one lang= rocks' 'en,de,de_DE' 'Component: rocks'
  57. testlangs 'multicomponent one lang= solid' 'pt' 'Component: solid'
  58. echo 'deb [lang=pt] http://example.org/debian stable rocks
  59. deb [lang=de] http://example.org/debian stable solid' > rootdir/etc/apt/sources.list
  60. testlangs 'multicomponent different lang= combined' 'de,pt'
  61. testlangs 'multicomponent different lang= rocks' 'pt' 'Component: rocks'
  62. testlangs 'multicomponent different lang= solid' 'de' 'Component: solid'
  63. echo 'deb [lang+=pt] http://example.org/debian stable rocks
  64. deb [lang-=de] http://example.org/debian stable solid' > rootdir/etc/apt/sources.list
  65. testlangs 'multicomponent different lang+-= combined' 'en,de,de_DE,pt'
  66. testlangs 'multicomponent different lang+-= rocks' 'en,de,de_DE,pt' 'Component: rocks'
  67. testlangs 'multicomponent different lang+-= solid' 'en,de_DE' 'Component: solid'