forked from ALHP/ALHP.GO
added test for increasePkgRel
This commit is contained in:
17
utils.go
17
utils.go
@@ -276,6 +276,17 @@ func (p *BuildPackage) repoVersion() (string, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (p *BuildPackage) increasePkgRel(buildNo int) error {
|
func (p *BuildPackage) increasePkgRel(buildNo int) error {
|
||||||
|
if p.Srcinfo == nil {
|
||||||
|
err := p.genSrcinfo()
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("error generating srcinfo: %v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if p.Version == "" {
|
||||||
|
p.Version = constructVersion(p.Srcinfo.Pkgver, p.Srcinfo.Pkgrel, p.Srcinfo.Epoch)
|
||||||
|
}
|
||||||
|
|
||||||
f, err := os.OpenFile(p.Pkgbuild, os.O_RDWR, 0644)
|
f, err := os.OpenFile(p.Pkgbuild, os.O_RDWR, 0644)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@@ -670,10 +681,10 @@ func (p *BuildPackage) genSrcinfo() error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd := exec.Command("sh", "-c", "cd "+filepath.Dir(p.Pkgbuild)+"&&"+"makepkg --printsrcinfo")
|
cmd := exec.Command("sh", "-c", "cd "+filepath.Dir(p.Pkgbuild)+"&&"+"makepkg --printsrcinfo -p "+filepath.Base(p.Pkgbuild))
|
||||||
res, err := cmd.Output()
|
res, err := cmd.CombinedOutput()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return fmt.Errorf("makepkg exit non-zero (PKGBUILD: %s): %v (%s)", p.Pkgbuild, err, string(res))
|
||||||
}
|
}
|
||||||
|
|
||||||
info, err := srcinfo.Parse(string(res))
|
info, err := srcinfo.Parse(string(res))
|
||||||
|
97
utils_test.go
Normal file
97
utils_test.go
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
"strings"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
const PkgbuildTest = `# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
|
||||||
|
|
||||||
|
pkgname=gnome-todo
|
||||||
|
pkgver=41.0+r69+ga9a5b7cd
|
||||||
|
pkgrel=1
|
||||||
|
pkgdesc="Task manager for GNOME"
|
||||||
|
url="https://wiki.gnome.org/Apps/Todo"
|
||||||
|
arch=(x86_64)
|
||||||
|
license=(GPL)
|
||||||
|
depends=(evolution-data-server libpeas python gtk4 libportal-gtk4 libadwaita)
|
||||||
|
makedepends=(gobject-introspection appstream-glib git meson yelp-tools)
|
||||||
|
groups=(gnome-extra)
|
||||||
|
_commit=a9a5b7cdde0244331d2d49220f04018be60c018e # master
|
||||||
|
source=("git+https://gitlab.gnome.org/GNOME/gnome-todo.git#commit=$_commit")
|
||||||
|
sha256sums=('SKIP')
|
||||||
|
|
||||||
|
pkgver() {
|
||||||
|
cd $pkgname
|
||||||
|
git describe --tags | sed 's/^GNOME_TODO_//;s/_/./g;s/[^-]*-g/r&/;s/-/+/g'
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
prepare() {
|
||||||
|
cd $pkgname
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
arch-meson $pkgname build
|
||||||
|
meson compile -C build
|
||||||
|
}
|
||||||
|
|
||||||
|
check() (
|
||||||
|
glib-compile-schemas "${GSETTINGS_SCHEMA_DIR:=$PWD/$pkgname/data}"
|
||||||
|
export GSETTINGS_SCHEMA_DIR
|
||||||
|
|
||||||
|
meson test -C build --print-errorlogs
|
||||||
|
)
|
||||||
|
|
||||||
|
package() {
|
||||||
|
meson install -C build --destdir "$pkgdir"
|
||||||
|
}
|
||||||
|
|
||||||
|
# vim:set sw=2 et:
|
||||||
|
`
|
||||||
|
|
||||||
|
func TestIncreasePkgRel(t *testing.T) {
|
||||||
|
pkgbuild, err := os.CreateTemp("", "")
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal("Unable to setup temp. PKGBUILD")
|
||||||
|
}
|
||||||
|
defer func(name string) {
|
||||||
|
_ = os.Remove(name)
|
||||||
|
}(pkgbuild.Name())
|
||||||
|
|
||||||
|
_, err = pkgbuild.WriteString(PkgbuildTest)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal("Unable to write to temp. PKGBUILD")
|
||||||
|
}
|
||||||
|
_ = pkgbuild.Close()
|
||||||
|
|
||||||
|
buildPkg := &BuildPackage{
|
||||||
|
Pkgbase: "gnome-todo",
|
||||||
|
Pkgbuild: pkgbuild.Name(),
|
||||||
|
}
|
||||||
|
|
||||||
|
err = buildPkg.increasePkgRel(1)
|
||||||
|
if err != nil {
|
||||||
|
t.Logf("increasePkgRel: %v", err)
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
|
|
||||||
|
versionSplit := strings.Split(buildPkg.Version, "-")
|
||||||
|
if versionSplit[len(versionSplit)-1] != "1.1" {
|
||||||
|
t.Logf("increasePkgRel: expected 1.1 pkgrel, got: %s", buildPkg.Version)
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
|
|
||||||
|
buildPkg.Srcinfo = nil
|
||||||
|
err = buildPkg.genSrcinfo()
|
||||||
|
if err != nil {
|
||||||
|
t.Logf("increasePkgRel: %v", err)
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
|
|
||||||
|
if buildPkg.Srcinfo.Pkgrel != "1.1" {
|
||||||
|
t.Logf("increasePkgRel: expected 1.1 pkgrel, got: %s", buildPkg.Srcinfo.Pkgrel)
|
||||||
|
t.Fail()
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user