xbps-checkvers: more fixes and new test cases.
- This now checks for vars that have refs to other vars: pkgname=${_myvar} - This now checks for unwanted garbage before assignment: . ./source/file pkgname=${_myvar} - Misc tweaks to use my coding style.
This commit is contained in:
parent
7cdba2ed14
commit
38e71e8e1c
@ -93,7 +93,7 @@ typedef int (*rcv_proc_func)(rcv_t *, const char *, rcv_check_func);
|
|||||||
static map_item_t
|
static map_item_t
|
||||||
map_new_item(void)
|
map_new_item(void)
|
||||||
{
|
{
|
||||||
return (map_item_t){ .k = { NULL, 0, 0 }, .v = { NULL, 0, 0 } };
|
return (map_item_t){ .k = { NULL, 0, 0 }, .v = { NULL, 0, 0 }, .i = 0 };
|
||||||
}
|
}
|
||||||
|
|
||||||
static map_t *
|
static map_t *
|
||||||
@ -120,7 +120,7 @@ map_find_n(map_t *map, const char *k, size_t n)
|
|||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
map_item_t item;
|
map_item_t item;
|
||||||
|
|
||||||
for(i = 0; i < map->len; i++) {
|
for (i = 0; i < map->len; i++) {
|
||||||
item = map->items[i];
|
item = map->items[i];
|
||||||
if (item.k.len != 0)
|
if (item.k.len != 0)
|
||||||
if ((strncmp(k, item.k.s, n) == 0))
|
if ((strncmp(k, item.k.s, n) == 0))
|
||||||
@ -138,6 +138,9 @@ map_add_n(map_t *map, const char *k, size_t kn, const char *v, size_t vn)
|
|||||||
size_t i;
|
size_t i;
|
||||||
map_item_t item;
|
map_item_t item;
|
||||||
|
|
||||||
|
assert(k);
|
||||||
|
assert(v);
|
||||||
|
|
||||||
if (++map->len > map->size) {
|
if (++map->len > map->size) {
|
||||||
map->size += 16;
|
map->size += 16;
|
||||||
map->items = realloc(map->items,
|
map->items = realloc(map->items,
|
||||||
@ -154,18 +157,12 @@ map_add_n(map_t *map, const char *k, size_t kn, const char *v, size_t vn)
|
|||||||
}
|
}
|
||||||
if (item.v.vmalloc == 1)
|
if (item.v.vmalloc == 1)
|
||||||
free(item.v.s);
|
free(item.v.s);
|
||||||
|
|
||||||
item.v = (string){ (char *)__UNCONST(v), vn, 0 };
|
item.v = (string){ (char *)__UNCONST(v), vn, 0 };
|
||||||
map->items[item.i] = item;
|
map->items[item.i] = item;
|
||||||
return map->items[item.i];
|
return map->items[item.i];
|
||||||
}
|
}
|
||||||
|
|
||||||
static map_item_t
|
|
||||||
map_add(map_t *map, const char *k, const char *v)
|
|
||||||
{
|
|
||||||
return map_add_n(map, k, strlen(k), v, strlen(v));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static map_item_t
|
static map_item_t
|
||||||
map_find(map_t *map, const char *k)
|
map_find(map_t *map, const char *k)
|
||||||
{
|
{
|
||||||
@ -298,15 +295,25 @@ rcv_refs(rcv_t *rcv, const char *s, size_t len)
|
|||||||
size_t i = 0, j = 0, k = 0, count = len*3;
|
size_t i = 0, j = 0, k = 0, count = len*3;
|
||||||
char *ref = calloc(count, sizeof(char));
|
char *ref = calloc(count, sizeof(char));
|
||||||
char *buf = calloc(count, sizeof(char));
|
char *buf = calloc(count, sizeof(char));
|
||||||
|
|
||||||
|
assert(rcv);
|
||||||
|
assert(s);
|
||||||
|
assert(ref);
|
||||||
|
assert(buf);
|
||||||
|
|
||||||
while (i < len) {
|
while (i < len) {
|
||||||
if (s[i] == '$' && s[i+1] != '(') {
|
if (s[i] == '$' && s[i+1] != '(') {
|
||||||
j = 0;
|
j = 0;
|
||||||
i++;
|
i++;
|
||||||
if (s[i] == '{') { i++; }
|
if (s[i] == '{') {
|
||||||
|
i++;
|
||||||
|
}
|
||||||
while (isalpha(s[i]) || s[i] == '_') {
|
while (isalpha(s[i]) || s[i] == '_') {
|
||||||
ref[j++] = s[i++];
|
ref[j++] = s[i++];
|
||||||
}
|
}
|
||||||
if (s[i] == '}') { i++; }
|
if (s[i] == '}') {
|
||||||
|
i++;
|
||||||
|
}
|
||||||
ref[j++] = '\0';
|
ref[j++] = '\0';
|
||||||
item = map_find(rcv->env, ref);
|
item = map_find(rcv->env, ref);
|
||||||
if ((strncmp(ref, item.k.s, strlen(ref)) == 0)) {
|
if ((strncmp(ref, item.k.s, strlen(ref)) == 0)) {
|
||||||
@ -334,14 +341,25 @@ rcv_cmd(rcv_t *rcv, const char *s, size_t len)
|
|||||||
size_t i = 0, j = 0, k = 0, count = len*3;
|
size_t i = 0, j = 0, k = 0, count = len*3;
|
||||||
char *cmd = calloc(count, sizeof(char));
|
char *cmd = calloc(count, sizeof(char));
|
||||||
char *buf = calloc(count, sizeof(char));
|
char *buf = calloc(count, sizeof(char));
|
||||||
|
|
||||||
|
assert(cmd);
|
||||||
|
assert(buf);
|
||||||
|
|
||||||
(void)rcv;
|
(void)rcv;
|
||||||
|
|
||||||
while (i < len) {
|
while (i < len) {
|
||||||
if (s[i] == '$' && s[i+1] != '{') {
|
if (s[i] == '$' && s[i+1] != '{') {
|
||||||
j = 0;
|
j = 0;
|
||||||
i++;
|
i++;
|
||||||
if (s[i] == '(') { i++; }
|
if (s[i] == '(') {
|
||||||
while (s[i] != ')') { cmd[j++] = s[i++]; }
|
i++;
|
||||||
if (s[i] == ')') { i++; }
|
}
|
||||||
|
while (s[i] != ')') {
|
||||||
|
cmd[j++] = s[i++];
|
||||||
|
}
|
||||||
|
if (s[i] == ')') {
|
||||||
|
i++;
|
||||||
|
}
|
||||||
cmd[j++] = '\0';
|
cmd[j++] = '\0';
|
||||||
if ((stream = popen(cmd, "r")) == NULL)
|
if ((stream = popen(cmd, "r")) == NULL)
|
||||||
goto error;
|
goto error;
|
||||||
@ -384,44 +402,64 @@ rcv_get_pkgver(rcv_t *rcv)
|
|||||||
uint8_t vars = 0;
|
uint8_t vars = 0;
|
||||||
|
|
||||||
while ((c = *ptr) != '\0') {
|
while ((c = *ptr) != '\0') {
|
||||||
if (c == '#') {
|
if (c == '#' || c == '.') {
|
||||||
while (*ptr++ != '\n');
|
goto nextline;
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
if (c == '\n') {
|
if (c == '\n') {
|
||||||
ptr++;
|
ptr++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (c == 'u' && (strncmp("unset", ptr, 5)) == 0) {
|
if (c == 'u' && (strncmp("unset", ptr, 5)) == 0) {
|
||||||
goto end;
|
goto nextline;
|
||||||
}
|
}
|
||||||
if ((e = strchr(ptr, '=')) == NULL)
|
if ((e = strchr(ptr, '=')) == NULL)
|
||||||
goto end;
|
goto nextline;
|
||||||
|
|
||||||
p = strchr(ptr, '\n');
|
p = strchr(ptr, '\n');
|
||||||
k = ptr;
|
k = ptr;
|
||||||
v = e + 1;
|
v = e + 1;
|
||||||
|
|
||||||
|
assert(p);
|
||||||
|
assert(k);
|
||||||
|
assert(v);
|
||||||
|
|
||||||
klen = strlen(k) - strlen(e);
|
klen = strlen(k) - strlen(e);
|
||||||
vlen = strlen(v) - strlen(p);
|
vlen = strlen(v) - strlen(p);
|
||||||
|
|
||||||
if (v[0] == '"' && vlen == 1) {
|
if (v[0] == '"' && vlen == 1) {
|
||||||
while (*ptr++ != '"');
|
while (*ptr++ != '"')
|
||||||
goto end;
|
;
|
||||||
|
goto nextline;
|
||||||
|
}
|
||||||
|
if (v[0] == '"') {
|
||||||
|
v++;
|
||||||
|
vlen--;
|
||||||
|
}
|
||||||
|
if (v[vlen-1] == '"') {
|
||||||
|
vlen--;
|
||||||
|
}
|
||||||
|
if (vlen == 0) {
|
||||||
|
goto nextline;
|
||||||
}
|
}
|
||||||
if (v[0] == '"') { v++; vlen--; }
|
|
||||||
if (v[vlen-1] == '"') { vlen--; }
|
|
||||||
if (vlen == 0) { goto end; }
|
|
||||||
_item = map_add_n(rcv->env, k, klen, v, vlen);
|
_item = map_add_n(rcv->env, k, klen, v, vlen);
|
||||||
item = &rcv->env->items[_item.i];
|
item = &rcv->env->items[_item.i];
|
||||||
|
|
||||||
|
if (rcv->xhp.flags & XBPS_FLAG_DEBUG) {
|
||||||
|
printf("%s: %.*s %.*s\n", rcv->fname,
|
||||||
|
(int)item->k.len, item->k.s,
|
||||||
|
(int)item->v.len, item->v.s);
|
||||||
|
}
|
||||||
|
|
||||||
if (strchr(v, '$')) {
|
if (strchr(v, '$')) {
|
||||||
|
assert(item);
|
||||||
|
assert(item->v.s);
|
||||||
item->v.s = rcv_refs(rcv, item->v.s, item->v.len);
|
item->v.s = rcv_refs(rcv, item->v.s, item->v.len);
|
||||||
item->v.len = strlen(item->v.s);
|
item->v.len = strlen(item->v.s);
|
||||||
item->v.vmalloc = 1;
|
item->v.vmalloc = 1;
|
||||||
} else {
|
|
||||||
item->v.vmalloc = 0;
|
|
||||||
}
|
|
||||||
if (strchr(item->v.s, '$') && item->v.vmalloc == 1) {
|
|
||||||
item->v.s = rcv_cmd(rcv, item->v.s, item->v.len);
|
item->v.s = rcv_cmd(rcv, item->v.s, item->v.len);
|
||||||
item->v.len = strlen(item->v.s);
|
item->v.len = strlen(item->v.s);
|
||||||
|
} else {
|
||||||
|
item->v.vmalloc = 0;
|
||||||
}
|
}
|
||||||
if (strncmp("pkgname", k, klen) == 0) {
|
if (strncmp("pkgname", k, klen) == 0) {
|
||||||
rcv->have_vars |= GOT_PKGNAME_VAR;
|
rcv->have_vars |= GOT_PKGNAME_VAR;
|
||||||
@ -433,10 +471,10 @@ rcv_get_pkgver(rcv_t *rcv)
|
|||||||
rcv->have_vars |= GOT_REVISION_VAR;
|
rcv->have_vars |= GOT_REVISION_VAR;
|
||||||
vars++;
|
vars++;
|
||||||
}
|
}
|
||||||
/*printf("'%.*s':'%.*s'\n", item->k.len, item->k.s, item->v.len, item->v.s);*/
|
|
||||||
if (vars > 2)
|
if (vars > 2)
|
||||||
return;
|
return;
|
||||||
end:
|
|
||||||
|
nextline:
|
||||||
ptr = strchr(ptr, '\n') + 1;
|
ptr = strchr(ptr, '\n') + 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -444,8 +482,6 @@ end:
|
|||||||
static int
|
static int
|
||||||
rcv_process_file(rcv_t *rcv, const char *fname, rcv_check_func check)
|
rcv_process_file(rcv_t *rcv, const char *fname, rcv_check_func check)
|
||||||
{
|
{
|
||||||
const char *ehome;
|
|
||||||
|
|
||||||
rcv->env = map_create();
|
rcv->env = map_create();
|
||||||
if (rcv->env == NULL) {
|
if (rcv->env == NULL) {
|
||||||
rcv->env = NULL;
|
rcv->env = NULL;
|
||||||
@ -456,14 +492,6 @@ rcv_process_file(rcv_t *rcv, const char *fname, rcv_check_func check)
|
|||||||
rcv->env = NULL;
|
rcv->env = NULL;
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
/*printf("Processing %s\n", fname);*/
|
|
||||||
if ((ehome = getenv("HOME")) == NULL) {
|
|
||||||
map_destroy(rcv->env);
|
|
||||||
rcv->env = NULL;
|
|
||||||
return EXIT_FAILURE;
|
|
||||||
}
|
|
||||||
map_add(rcv->env, "HOME", ehome);
|
|
||||||
|
|
||||||
rcv_get_pkgver(rcv);
|
rcv_get_pkgver(rcv);
|
||||||
check(rcv);
|
check(rcv);
|
||||||
map_destroy(rcv->env);
|
map_destroy(rcv->env);
|
||||||
@ -558,8 +586,10 @@ rcv_check_version(rcv_t *rcv)
|
|||||||
srcver = strncat(srcver, version.v.s, version.v.len);
|
srcver = strncat(srcver, version.v.s, version.v.len);
|
||||||
srcver = strncat(srcver, "_", 1);
|
srcver = strncat(srcver, "_", 1);
|
||||||
srcver = strncat(srcver, revision.v.s, revision.v.len);
|
srcver = strncat(srcver, revision.v.s, revision.v.len);
|
||||||
|
|
||||||
xbps_dictionary_get_cstring_nocopy(rcv->pkgd, "pkgver", &repover);
|
xbps_dictionary_get_cstring_nocopy(rcv->pkgd, "pkgver", &repover);
|
||||||
if (repover == NULL && (rcv->show_missing==true||rcv->manual==true)) {
|
|
||||||
|
if (repover == NULL && (rcv->show_missing || rcv->manual )) {
|
||||||
printf("pkgname: %.*s repover: ? srcpkgver: %s\n",
|
printf("pkgname: %.*s repover: ? srcpkgver: %s\n",
|
||||||
(int)pkgname.v.len, pkgname.v.s, srcver+pkgname.v.len+1);
|
(int)pkgname.v.len, pkgname.v.s, srcver+pkgname.v.len+1);
|
||||||
}
|
}
|
||||||
@ -597,32 +627,26 @@ error:
|
|||||||
errors = errno;
|
errors = errno;
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
while(1) {
|
for (;;) {
|
||||||
i = readdir_r(dir, &entry, &result);
|
i = readdir_r(dir, &entry, &result);
|
||||||
if (i > 0) {
|
if (i > 0) {
|
||||||
errors = errno;
|
errors = errno;
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if (result == NULL) break;
|
if (result == NULL)
|
||||||
if (strcmp(result->d_name, ".") == 0) continue;
|
break;
|
||||||
if (strcmp(result->d_name, "..") == 0) continue;
|
if ((strcmp(result->d_name, ".") == 0) ||
|
||||||
|
(strcmp(result->d_name, "..") == 0))
|
||||||
|
continue;
|
||||||
if ((lstat(result->d_name, &st)) != 0) {
|
if ((lstat(result->d_name, &st)) != 0) {
|
||||||
errors = errno;
|
errors = errno;
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if (S_ISLNK(st.st_mode) != 0) continue;
|
if (S_ISLNK(st.st_mode) != 0)
|
||||||
if ((chdir("..")) == -1) {
|
continue;
|
||||||
errors = errno;
|
|
||||||
goto error;
|
snprintf(filename, sizeof(filename), "%s/template", result->d_name);
|
||||||
}
|
|
||||||
strcpy(filename, "srcpkgs/");
|
|
||||||
strcat(filename, result->d_name);
|
|
||||||
strcat(filename, "/template");
|
|
||||||
ret = process(rcv, filename, rcv_check_version);
|
ret = process(rcv, filename, rcv_check_version);
|
||||||
if ((chdir(path)) == -1) {
|
|
||||||
errors = errno;
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((closedir(dir)) == -1) {
|
if ((closedir(dir)) == -1) {
|
||||||
@ -630,12 +654,6 @@ error:
|
|||||||
dir = NULL;
|
dir = NULL;
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
if ((chdir("..")) == -1) {
|
|
||||||
errors = errno;
|
|
||||||
dir = NULL;
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,6 +27,35 @@ EOF
|
|||||||
atf_check_equal "$out" ""
|
atf_check_equal "$out" ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
atf_test_case srcpkg_older_with_refs
|
||||||
|
|
||||||
|
srcpkg_older_with_refs_head() {
|
||||||
|
atf_set "descr" "xbps-checkvers(8): test when srcpkg contains an older version with refs"
|
||||||
|
}
|
||||||
|
srcpkg_older_with_refs_body() {
|
||||||
|
mkdir -p some_repo pkg_A void-packages/srcpkgs/A
|
||||||
|
touch pkg_A/file00
|
||||||
|
cat > void-packages/srcpkgs/A/template <<EOF
|
||||||
|
_mypkgname=A
|
||||||
|
_myversion=1
|
||||||
|
pkgname=\${_mypkgname}
|
||||||
|
version=\${_myversion}.0
|
||||||
|
revision=1
|
||||||
|
do_install() {
|
||||||
|
:
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
cd some_repo
|
||||||
|
xbps-create -A noarch -n A-1.1_1 -s "A pkg" ../pkg_A
|
||||||
|
atf_check_equal $? 0
|
||||||
|
xbps-rindex -d -a $PWD/*.xbps
|
||||||
|
atf_check_equal $? 0
|
||||||
|
cd ..
|
||||||
|
out=`xbps-checkvers -R $PWD/some_repo -D $PWD/void-packages`
|
||||||
|
atf_check_equal $? 0
|
||||||
|
atf_check_equal "$out" ""
|
||||||
|
}
|
||||||
|
|
||||||
atf_test_case srcpkg_newer
|
atf_test_case srcpkg_newer
|
||||||
|
|
||||||
srcpkg_newer_head() {
|
srcpkg_newer_head() {
|
||||||
@ -54,6 +83,65 @@ EOF
|
|||||||
atf_check_equal "$out" "pkgname: A repover: 1.0_1 srcpkgver: 1.1_1"
|
atf_check_equal "$out" "pkgname: A repover: 1.0_1 srcpkgver: 1.1_1"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
atf_test_case srcpkg_newer_with_refs
|
||||||
|
|
||||||
|
srcpkg_newer_with_refs_head() {
|
||||||
|
atf_set "descr" "xbps-checkvers(8): test when srcpkg contains a newer version with refs"
|
||||||
|
}
|
||||||
|
srcpkg_newer_with_refs_body() {
|
||||||
|
mkdir -p some_repo pkg_A void-packages/srcpkgs/A
|
||||||
|
touch pkg_A/file00
|
||||||
|
cat > void-packages/srcpkgs/A/template <<EOF
|
||||||
|
_mypkgname="A"
|
||||||
|
_myversion="1"
|
||||||
|
pkgname=\${_mypkgname}
|
||||||
|
version=\${_myversion}.1
|
||||||
|
revision=1
|
||||||
|
do_install() {
|
||||||
|
:
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
cd some_repo
|
||||||
|
xbps-create -A noarch -n A-1.0_1 -s "A pkg" ../pkg_A
|
||||||
|
atf_check_equal $? 0
|
||||||
|
xbps-rindex -d -a $PWD/*.xbps
|
||||||
|
atf_check_equal $? 0
|
||||||
|
cd ..
|
||||||
|
out=`xbps-checkvers -R $PWD/some_repo -D $PWD/void-packages`
|
||||||
|
atf_check_equal $? 0
|
||||||
|
atf_check_equal "$out" "pkgname: A repover: 1.0_1 srcpkgver: 1.1_1"
|
||||||
|
}
|
||||||
|
|
||||||
|
atf_test_case srcpkg_newer_with_refs_and_source
|
||||||
|
|
||||||
|
srcpkg_newer_with_refs_and_source_head() {
|
||||||
|
atf_set "descr" "xbps-checkvers(8): test when srcpkg contains a newer version with refs and file sourcing"
|
||||||
|
}
|
||||||
|
srcpkg_newer_with_refs_and_source_body() {
|
||||||
|
mkdir -p some_repo pkg_A void-packages/srcpkgs/A
|
||||||
|
touch pkg_A/file00
|
||||||
|
cat > void-packages/srcpkgs/A/template <<EOF
|
||||||
|
. ./source/a/file
|
||||||
|
_mypkgname="A"
|
||||||
|
_myversion="1"
|
||||||
|
pkgname=\${_mypkgname}
|
||||||
|
version=\${_myversion}.1
|
||||||
|
revision=1
|
||||||
|
do_install() {
|
||||||
|
:
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
cd some_repo
|
||||||
|
xbps-create -A noarch -n A-1.0_1 -s "A pkg" ../pkg_A
|
||||||
|
atf_check_equal $? 0
|
||||||
|
xbps-rindex -d -a $PWD/*.xbps
|
||||||
|
atf_check_equal $? 0
|
||||||
|
cd ..
|
||||||
|
out=`xbps-checkvers -R $PWD/some_repo -D $PWD/void-packages`
|
||||||
|
atf_check_equal $? 0
|
||||||
|
atf_check_equal "$out" "pkgname: A repover: 1.0_1 srcpkgver: 1.1_1"
|
||||||
|
}
|
||||||
|
|
||||||
atf_test_case srcpkg_missing_pkgname
|
atf_test_case srcpkg_missing_pkgname
|
||||||
|
|
||||||
srcpkg_missing_pkgname_head() {
|
srcpkg_missing_pkgname_head() {
|
||||||
@ -77,7 +165,7 @@ EOF
|
|||||||
cd ..
|
cd ..
|
||||||
xbps-checkvers -R $PWD/some_repo -D $PWD/void-packages 2>out
|
xbps-checkvers -R $PWD/some_repo -D $PWD/void-packages 2>out
|
||||||
atf_check_equal $? 1
|
atf_check_equal $? 1
|
||||||
atf_check_equal "$(cat out)" "ERROR: 'srcpkgs/A/template': missing pkgname variable!"
|
atf_check_equal "$(cat out)" "ERROR: 'A/template': missing pkgname variable!"
|
||||||
}
|
}
|
||||||
|
|
||||||
atf_test_case srcpkg_missing_version
|
atf_test_case srcpkg_missing_version
|
||||||
@ -103,7 +191,7 @@ EOF
|
|||||||
cd ..
|
cd ..
|
||||||
xbps-checkvers -R $PWD/some_repo -D $PWD/void-packages 2>out
|
xbps-checkvers -R $PWD/some_repo -D $PWD/void-packages 2>out
|
||||||
atf_check_equal $? 1
|
atf_check_equal $? 1
|
||||||
atf_check_equal "$(cat out)" "ERROR: 'srcpkgs/A/template': missing version variable!"
|
atf_check_equal "$(cat out)" "ERROR: 'A/template': missing version variable!"
|
||||||
}
|
}
|
||||||
|
|
||||||
atf_test_case srcpkg_missing_revision
|
atf_test_case srcpkg_missing_revision
|
||||||
@ -129,7 +217,7 @@ EOF
|
|||||||
cd ..
|
cd ..
|
||||||
xbps-checkvers -R $PWD/some_repo -D $PWD/void-packages 2>out
|
xbps-checkvers -R $PWD/some_repo -D $PWD/void-packages 2>out
|
||||||
atf_check_equal $? 1
|
atf_check_equal $? 1
|
||||||
atf_check_equal "$(cat out)" "ERROR: 'srcpkgs/A/template': missing revision variable!"
|
atf_check_equal "$(cat out)" "ERROR: 'A/template': missing revision variable!"
|
||||||
}
|
}
|
||||||
|
|
||||||
atf_test_case srcpkg_missing_pkgver
|
atf_test_case srcpkg_missing_pkgver
|
||||||
@ -155,7 +243,7 @@ EOF
|
|||||||
cd ..
|
cd ..
|
||||||
xbps-checkvers -R $PWD/some_repo -D $PWD/void-packages 2>out
|
xbps-checkvers -R $PWD/some_repo -D $PWD/void-packages 2>out
|
||||||
atf_check_equal $? 1
|
atf_check_equal $? 1
|
||||||
atf_check_equal "$(cat out)" "ERROR: 'srcpkgs/A/template': missing pkgname variable!"
|
atf_check_equal "$(cat out)" "ERROR: 'A/template': missing pkgname variable!"
|
||||||
}
|
}
|
||||||
|
|
||||||
atf_test_case srcpkg_missing_pkgverrev
|
atf_test_case srcpkg_missing_pkgverrev
|
||||||
@ -181,7 +269,7 @@ EOF
|
|||||||
cd ..
|
cd ..
|
||||||
xbps-checkvers -R $PWD/some_repo -D $PWD/void-packages 2>out
|
xbps-checkvers -R $PWD/some_repo -D $PWD/void-packages 2>out
|
||||||
atf_check_equal $? 1
|
atf_check_equal $? 1
|
||||||
atf_check_equal "$(cat out)" "ERROR: 'srcpkgs/A/template': missing pkgname variable!"
|
atf_check_equal "$(cat out)" "ERROR: 'A/template': missing pkgname variable!"
|
||||||
}
|
}
|
||||||
|
|
||||||
atf_test_case reverts
|
atf_test_case reverts
|
||||||
@ -215,7 +303,10 @@ EOF
|
|||||||
|
|
||||||
atf_init_test_cases() {
|
atf_init_test_cases() {
|
||||||
atf_add_test_case srcpkg_newer
|
atf_add_test_case srcpkg_newer
|
||||||
|
atf_add_test_case srcpkg_newer_with_refs
|
||||||
|
atf_add_test_case srcpkg_newer_with_refs_and_source
|
||||||
atf_add_test_case srcpkg_older
|
atf_add_test_case srcpkg_older
|
||||||
|
atf_add_test_case srcpkg_older_with_refs
|
||||||
atf_add_test_case srcpkg_missing_pkgname
|
atf_add_test_case srcpkg_missing_pkgname
|
||||||
atf_add_test_case srcpkg_missing_version
|
atf_add_test_case srcpkg_missing_version
|
||||||
atf_add_test_case srcpkg_missing_revision
|
atf_add_test_case srcpkg_missing_revision
|
||||||
|
Loading…
x
Reference in New Issue
Block a user