Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Explicitly send warnings on unexpected syntaxes on manifest
Baptiste Daroussin committed 11 years ago
commit 669266d484e0bba2b729298f00bbfa841114cf16
parent d54291b
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
}