Radish alpha
H
HardenedBSD Package Manager
Radicle
Git (anonymous pull)
Log in to clone via SSH
Explicitly send warnings on unexpected syntaxes on manifest
Baptiste Daroussin committed 11 years ago
commit 669266d484e0bba2b729298f00bbfa841114cf16
parent d54291bcbfd0dfcdb9a112b443935a558444b2b9
2 files changed +39 -0
modified libpkg/pkg_manifest.c
@@ -717,7 +717,11 @@ parse_manifest(struct pkg *pkg, struct pkg_manifest_key *keys, ucl_object_t *obj
			if (dp != NULL) {
				pkg_debug(3, "Manifest: key is valid");
				dp->parse_data(pkg, cur, selected_key->type);
+
			} else {
+
				pkg_emit_error("Skipping malformed key '%s'", key);
			}
+
		} else {
+
			pkg_emit_error("Skipping unknown key '%s'", key);
		}
	}

modified tests/frontend/pkg.shin
@@ -49,10 +49,45 @@ pkg_config_defaults_body()
	env -i PATH=${PATH} LD_LIBRARY_PATH=${LD_LIBRARY_PATH} pkg -C "" -R "" -vv
}

+
atf_test_case pkg_create_manifest_bad_syntax
+
pkg_create_manifest_bad_syntax_head()
+
{
+
	atf_set "descr" "Testing bad syntax in manifest"
+

+
}
+

+
pkg_create_manifest_bad_syntax_body()
+
{
+
	mkdir -p testpkg/.metadir
+
	cat <<EOF >> testpkg/.metadir/+MANIFEST
+
name: test
+
version: 1
+
origin: test
+
prefix: /usr/local
+
categories: [test]
+
comment: this is a test
+
maintainer: test
+
www: http://test
+
desc: <<EOD
+
A description
+
EOD
+
files:
+
  /usr/local/include/someFile.hp: 'sha256sum' p
+
EOF
+
	atf_check \
+
		-o empty \
+
		-e inline:"pkg: Skipping malformed key 'files'\n" \
+
		-s exit:0 pkg create -m testpkg/.metadir -r testpkg
+
	atf_check \
+
		-o empty \
+
		-e empty \
+
		-s exit:0 test -f test-1.txz
+
}

atf_init_test_cases() {
        . $(atf_get_srcdir)/test_environment.sh

	atf_add_test_case pkg_no_database
	atf_add_test_case pkg_config_defaults
+
	atf_add_test_case pkg_create_manifest_bad_syntax
}