summaryrefslogtreecommitdiff
path: root/buildscripts/tests/test_debugsymb_mapper.py
diff options
context:
space:
mode:
authorLucas de Castro Borges <lucas@gnuabordo.com.br>2025-02-11 15:07:35 -0300
committerLucas de Castro Borges <lucas@gnuabordo.com.br>2025-02-11 15:07:35 -0300
commit4cb8841196d0625dfa3825aa326f071cd27c7b8b (patch)
tree1682a647d4463397c119183369ae6f750d5fdcff /buildscripts/tests/test_debugsymb_mapper.py
parentaa03c6362cbaa767638e6eed9b031d86dd2643d1 (diff)
parent8f0827553e09872941945a093b647a4211a9db7f (diff)
Update upstream source from tag 'upstream/6.0.0'master
Update to upstream version '6.0.0' with Debian dir 5604a80ec1c96ca76f25f40d78e6ef855abec322
Diffstat (limited to 'buildscripts/tests/test_debugsymb_mapper.py')
-rw-r--r--buildscripts/tests/test_debugsymb_mapper.py115
1 files changed, 0 insertions, 115 deletions
diff --git a/buildscripts/tests/test_debugsymb_mapper.py b/buildscripts/tests/test_debugsymb_mapper.py
deleted file mode 100644
index b1b063f5331..00000000000
--- a/buildscripts/tests/test_debugsymb_mapper.py
+++ /dev/null
@@ -1,115 +0,0 @@
-"""Unit tests for debugsymb_mapper.py."""
-# pylint: disable=missing-docstring
-import unittest
-from unittest.mock import MagicMock
-
-import buildscripts.debugsymb_mapper as under_test
-
-
-def mock_cmd_client():
- cmd_client = MagicMock(spec_set=under_test.CmdClient)
- return cmd_client
-
-
-class TestCmdOutputExtractor(unittest.TestCase):
- def setUp(self):
- self.cmd_client_mock = mock_cmd_client()
- self.cmd_output_extractor = under_test.CmdOutputExtractor(self.cmd_client_mock)
-
-
-class TestGetBuildId(TestCmdOutputExtractor):
- def test_get_build_id_returns_build_id(self):
- readelf_output = (
- "Displaying notes found in: .note.gnu.build-id\n"
- " Owner Data size\tDescription\n"
- " GNU 0x00000014\tNT_GNU_BUILD_ID (unique build ID bitstring)\n"
- " Build ID: 74c2322104428836f3d94af6cd7471ee7cb5c4ee\n"
- "\n"
- "Displaying notes found in: .gnu.build.attributes.hot\n"
- " Owner Data size\tDescription\n"
- " GA$<version>3h864 0x00000010\tOPEN\n"
- " Applies to region from 0xb71 to 0xb71 (.annobin_init.c.hot)\n"
- " GA$<version>3h864 0x00000010\tOPEN\n"
- " Applies to region from 0xb71 to 0xb71 (.annobin_init.c.hot)")
- self.cmd_client_mock.run.return_value = readelf_output
-
- build_id_output = self.cmd_output_extractor.get_build_id("path/to/bin")
- self.assertEqual(build_id_output.build_id, "74c2322104428836f3d94af6cd7471ee7cb5c4ee")
- self.assertEqual(build_id_output.cmd_output, readelf_output)
-
- def test_get_build_id_raises_error(self):
- readelf_output = (
- " Owner Data size\tDescription\n"
- " GNU 0x00000014\tNT_GNU_BUILD_ID (unique build ID bitstring)\n"
- " Build ID: 74c2322104428836f3d94af6cd7471ee7cb5c4ee\n"
- "\n"
- "Displaying notes found in: .gnu.build.attributes.hot\n"
- " Owner Data size\tDescription\n"
- " GNU 0x00000014\tNT_GNU_BUILD_ID (unique build ID bitstring)\n"
- " Build ID: 74c2322104428836f3d94af6cd7471ee7cb5c4ee\n"
- "\n"
- "Displaying notes found in: .gnu.build.attributes.hot")
- self.cmd_client_mock.run.return_value = readelf_output
-
- self.assertRaises(ValueError, self.cmd_output_extractor.get_build_id, "path/to/bin")
-
- def test_get_build_id_returns_none(self):
- readelf_output = (
- "Displaying notes found in: .note.gnu.build-id\n"
- " Owner Data size\tDescription\n"
- " GNU 0x00000014\tNT_GNU_BUILD_ID (unique build ID bitstring)")
- self.cmd_client_mock.run.return_value = readelf_output
-
- build_id_output = self.cmd_output_extractor.get_build_id("path/to/bin")
- self.assertIsNone(build_id_output.build_id)
- self.assertEqual(build_id_output.cmd_output, readelf_output)
-
-
-class TestGetBinVersion(TestCmdOutputExtractor):
- def test_get_bin_version_returns_version(self):
- # Newer versions command output
- version_cmd_output = ('db version v4.4.14-25-gb0475e2\n'
- 'Build Info: {\n'
- ' "version": "4.4.14-25-gb0475e2",\n'
- ' "gitVersion": "b0475e2657c3351b25499971d3340f054ea85b98",\n'
- ' "openSSLVersion": "OpenSSL 1.1.1 11 Sep 2018",\n'
- ' "modules": [\n'
- ' "enterprise"\n'
- ' ],\n'
- ' "allocator": "tcmalloc",\n'
- ' "environment": {\n'
- ' "distmod": "ubuntu1804",\n'
- ' "distarch": "x86_64",\n'
- ' "target_arch": "x86_64"\n'
- ' }\n'
- '}')
- self.cmd_client_mock.run.return_value = version_cmd_output
-
- bin_version_output = self.cmd_output_extractor.get_bin_version("path/to/bin")
- self.assertEqual(bin_version_output.mongodb_version, "4.4.14-25-gb0475e2")
- self.assertEqual(bin_version_output.cmd_output, version_cmd_output)
-
- def test_get_bin_version_unsupported_output(self):
- # Versions prior to 5.0 are not supported
- version_cmd_output = ('db version v4.2.20-7-g5a81409\n'
- 'git version: 5a81409faf16f30f1189af6367eb3ceee50a02b5\n'
- 'OpenSSL version: OpenSSL 1.1.1 11 Sep 2018\n'
- 'allocator: tcmalloc\n'
- 'modules: enterprise \n'
- 'build environment:\n'
- ' distmod: ubuntu1804\n'
- ' distarch: x86_64\n'
- ' target_arch: x86_64')
- self.cmd_client_mock.run.return_value = version_cmd_output
-
- bin_version_output = self.cmd_output_extractor.get_bin_version("path/to/bin")
- self.assertIsNone(bin_version_output.mongodb_version)
- self.assertEqual(bin_version_output.cmd_output, version_cmd_output)
-
- def test_get_bin_version_returns_none(self):
- version_cmd_output = "error: unrecognized arguments: --version"
- self.cmd_client_mock.run.return_value = version_cmd_output
-
- bin_version_output = self.cmd_output_extractor.get_bin_version("path/to/bin")
- self.assertIsNone(bin_version_output.mongodb_version)
- self.assertEqual(bin_version_output.cmd_output, version_cmd_output)