diff options
-rw-r--r-- | app/models/defconfig.py | 12 | ||||
-rw-r--r-- | app/models/tests/test_defconfig_model.py | 4 | ||||
-rw-r--r-- | app/utils/docimport.py | 30 | ||||
-rw-r--r-- | app/utils/tests/test_docimport.py | 5 | ||||
-rw-r--r-- | doc/schema-defconfig.rst | 8 |
5 files changed, 42 insertions, 17 deletions
diff --git a/app/models/defconfig.py b/app/models/defconfig.py index 309e498..04047d1 100644 --- a/app/models/defconfig.py +++ b/app/models/defconfig.py @@ -65,6 +65,7 @@ class DefconfigDocument(modb.BaseDocument): self._modules_dir = None self._build_log = None self._dtb_dir = None + self._kconfig_fragments = None self._version = None @@ -365,6 +366,16 @@ class DefconfigDocument(modb.BaseDocument): """Set the modules directory.""" self._modules_dir = value + @property + def kconfig_fragments(self): + """The config fragment used.""" + return self._kconfig_fragments + + @kconfig_fragments.setter + def kconfig_fragments(self, value): + """Set the config fragment used.""" + self._kconfig_fragments = value + def to_dict(self): defconf_dict = { models.ARCHITECTURE_KEY: self.arch, @@ -382,6 +393,7 @@ class DefconfigDocument(modb.BaseDocument): models.GIT_URL_KEY: self.git_url, models.JOB_ID_KEY: self.job_id, models.JOB_KEY: self.job, + models.KCONFIG_FRAGMENTS_KEY: self.kconfig_fragments, models.KERNEL_CONFIG_KEY: self.kernel_config, models.KERNEL_IMAGE_KEY: self.kernel_image, models.KERNEL_KEY: self.kernel, diff --git a/app/models/tests/test_defconfig_model.py b/app/models/tests/test_defconfig_model.py index a2eb10e..9d7a6d7 100644 --- a/app/models/tests/test_defconfig_model.py +++ b/app/models/tests/test_defconfig_model.py @@ -56,6 +56,7 @@ class TestDefconfModel(unittest.TestCase): defconf_doc.kernel_image = "kernel-image" defconf_doc.modules_dir = "modules-dir" defconf_doc.build_log = "build.log" + defconf_doc.kconfig_fragments = "config-frag" expected = { "name": "job-kernel-defconfig", @@ -86,7 +87,8 @@ class TestDefconfModel(unittest.TestCase): "text_offset": "offset", "modules": "modules-file", "modules_dir": "modules-dir", - "build_log": "build.log" + "build_log": "build.log", + "kconfig_fragments": "config-frag" } self.assertDictEqual(expected, defconf_doc.to_dict()) diff --git a/app/utils/docimport.py b/app/utils/docimport.py index 58ce3ad..e0dff63 100644 --- a/app/utils/docimport.py +++ b/app/utils/docimport.py @@ -216,28 +216,30 @@ def _parse_build_data(data_file, job, kernel): os.stat(data_file).st_mtime, tz=bson.tz_util.utc ) - defconfig_doc.version = data_pop(models.VERSION_KEY, "1.0") - defconfig_doc.status = data_pop( - models.BUILD_RESULT_KEY, models.UNKNOWN_STATUS - ) - defconfig_doc.warnings = data_pop(models.BUILD_WARNINGS_KEY, 0) - defconfig_doc.errros = data_pop(models.BUILD_ERRORS_KEY, 0) defconfig_doc.arch = data_pop(models.ARCHITECTURE_KEY, None) + defconfig_doc.build_log = data_pop(models.BUILD_LOG_KEY, None) defconfig_doc.build_platform = data_pop( models.BUILD_PLATFORM_KEY, []) - defconfig_doc.git_describe = data_pop(models.GIT_DESCRIBE_KEY, None) - defconfig_doc.git_url = data_pop(models.GIT_URL_KEY, None) - defconfig_doc.git_commit = data_pop(models.GIT_COMMIT_KEY, None) - defconfig_doc.git_branch = data_pop(models.GIT_BRANCH_KEY, None) defconfig_doc.build_time = data_pop(models.BUILD_TIME_KEY, 0) defconfig_doc.dtb_dir = data_pop(models.DTB_DIR_KEY, None) + defconfig_doc.errros = data_pop(models.BUILD_ERRORS_KEY, 0) + defconfig_doc.git_branch = data_pop(models.GIT_BRANCH_KEY, None) + defconfig_doc.git_commit = data_pop(models.GIT_COMMIT_KEY, None) + defconfig_doc.git_describe = data_pop(models.GIT_DESCRIBE_KEY, None) + defconfig_doc.git_url = data_pop(models.GIT_URL_KEY, None) + defconfig_doc.kconfig_fragments = data_pop( + models.KCONFIG_FRAGMENTS_KEY, None) defconfig_doc.kernel_config = data_pop( models.KERNEL_CONFIG_KEY, None) - defconfig_doc.kernel_image = data_pop( - models.KERNEL_IMAGE_KEY, None) - defconfig_doc.modules_dir = data_pop(models.MODULES_DIR_KEY, None) + defconfig_doc.kernel_image = data_pop(models.KERNEL_IMAGE_KEY, None) defconfig_doc.modules = data_pop(models.MODULES_KEY, None) - defconfig_doc.build_log = data_pop(models.BUILD_LOG_KEY, None) + defconfig_doc.modules_dir = data_pop(models.MODULES_DIR_KEY, None) + defconfig_doc.status = data_pop( + models.BUILD_RESULT_KEY, models.UNKNOWN_STATUS) + defconfig_doc.system_map = data_pop(models.SYSTEM_MAP_KEY, None) + defconfig_doc.text_offset = data_pop(models.TEXT_OFFSET_KEY, None) + defconfig_doc.version = data_pop(models.VERSION_KEY, "1.0") + defconfig_doc.warnings = data_pop(models.BUILD_WARNINGS_KEY, 0) defconfig_doc.metadata = build_data except KeyError, ex: diff --git a/app/utils/tests/test_docimport.py b/app/utils/tests/test_docimport.py index 409e489..ada4dde 100644 --- a/app/utils/tests/test_docimport.py +++ b/app/utils/tests/test_docimport.py @@ -146,7 +146,8 @@ class TestParseJob(unittest.TestCase): "kernel_config": "kernel.config", "dtb_dir": "dtbs", "modules_dir": "foo/bar", - "build_log": "file.log" + "build_log": "file.log", + "kconfig_fragments": "fragment" } try: @@ -161,7 +162,7 @@ class TestParseJob(unittest.TestCase): os.unlink(fake_meta.name) self.assertIsInstance(defconf_doc.metadata, types.DictionaryType) - self.assertEqual(None, defconf_doc.metadata['kconfig_fragments']) + self.assertEqual("fragment", defconf_doc.kconfig_fragments) self.assertEqual(defconf_doc.arch, "arm") self.assertEqual(defconf_doc.git_commit, "1234567890") self.assertEqual(defconf_doc.git_branch, "test/branch") diff --git a/doc/schema-defconfig.rst b/doc/schema-defconfig.rst index 5191da5..78acf35 100644 --- a/doc/schema-defconfig.rst +++ b/doc/schema-defconfig.rst @@ -145,6 +145,10 @@ The following schema covers the data that is available with a GET request. "type": "string", "description": "Name of the kernel image created" }, + "kconfig_fragments": { + "type": "string", + "description": "The config fragment used" + }, "metadata": { "type": "object", "description": "A free form object that can contain different properties" @@ -274,6 +278,10 @@ server. }, "text_offset": { "type": "string" + }, + "kconfig_fragments": { + "type": "string", + "description": "The config fragment used" } }, "required": ["version", "job", "kernel", "defconfig"] |