<div dir="ltr">This is failing on some of the debian buildbots so I've temporarily reverted it here:<div><br></div><div>commit 10b43541360efb35a1d33e9cf1e93023ebd69b15 (HEAD -> master, origin/master, origin/HEAD)<br>Author: Eric Christopher <<a href="mailto:echristo@gmail.com">echristo@gmail.com</a>><br>Date:   Sat Jun 20 14:21:42 2020<br><br>    Temporarily Revert "[lldb][NFC] Add more test for builtin formats"<br>    as it's failing on the debian buildbots:<br><br>    <a href="http://lab.llvm.org:8011/builders/lldb-x86_64-debian/builds/12531">http://lab.llvm.org:8011/builders/lldb-x86_64-debian/builds/12531</a><br><br>    This reverts commit 90c1af106a20785ffd01c0d6a41db8bc0160fd11.<br></div><div><br></div><div>buildbot link:</div><div><br></div><div><a href="http://lab.llvm.org:8011/builders/lldb-x86_64-debian/builds/12531">http://lab.llvm.org:8011/builders/lldb-x86_64-debian/builds/12531</a><br></div><div><br></div><div>Sorry for any inconvenience.</div><div><br></div><div>-eric</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jun 20, 2020 at 12:35 PM Raphael Isemann via lldb-commits <<a href="mailto:lldb-commits@lists.llvm.org">lldb-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Author: Raphael Isemann<br>
Date: 2020-06-20T19:31:40+02:00<br>
New Revision: 90c1af106a20785ffd01c0d6a41db8bc0160fd11<br>
<br>
URL: <a href="https://github.com/llvm/llvm-project/commit/90c1af106a20785ffd01c0d6a41db8bc0160fd11" rel="noreferrer" target="_blank">https://github.com/llvm/llvm-project/commit/90c1af106a20785ffd01c0d6a41db8bc0160fd11</a><br>
DIFF: <a href="https://github.com/llvm/llvm-project/commit/90c1af106a20785ffd01c0d6a41db8bc0160fd11.diff" rel="noreferrer" target="_blank">https://github.com/llvm/llvm-project/commit/90c1af106a20785ffd01c0d6a41db8bc0160fd11.diff</a><br>
<br>
LOG: [lldb][NFC] Add more test for builtin formats<br>
<br>
The previous tests apparently missed a few code branches in DumpDataExtractor<br>
code. Also renames the 'test_instruction' which had the same name as another<br>
test (and Python therefore ignored the test entirely).<br>
<br>
Added: <br>
<br>
<br>
Modified: <br>
    lldb/test/API/functionalities/data-formatter/builtin-formats/TestBuiltinFormats.py<br>
<br>
Removed: <br>
<br>
<br>
<br>
################################################################################<br>
diff  --git a/lldb/test/API/functionalities/data-formatter/builtin-formats/TestBuiltinFormats.py b/lldb/test/API/functionalities/data-formatter/builtin-formats/TestBuiltinFormats.py<br>
index 9fefae6bbf5c..1a413a13986a 100644<br>
--- a/lldb/test/API/functionalities/data-formatter/builtin-formats/TestBuiltinFormats.py<br>
+++ b/lldb/test/API/functionalities/data-formatter/builtin-formats/TestBuiltinFormats.py<br>
@@ -42,6 +42,9 @@ def test(self):<br>
         self.assertIn("= 0\n", self.getFormatted("float", "0"))<br>
         self.assertIn("= 2\n", self.getFormatted("float", "0x40000000"))<br>
         self.assertIn("= NaN\n", self.getFormatted("float", "-1"))<br>
+        # Checks the float16 code.<br>
+        self.assertIn("= 2\n", self.getFormatted("float", "(__UINT16_TYPE__)0x4000"))<br>
+        self.assertIn("= error: unsupported byte size (1) for float format\n", self.getFormatted("float", "'a'"))<br>
<br>
         # enumeration<br>
         self.assertIn("= 0\n", self.getFormatted("enumeration", "0"))<br>
@@ -59,6 +62,13 @@ def test(self):<br>
<br>
         # octal<br>
         self.assertIn("= 04553207\n", self.getFormatted("octal", "1234567"))<br>
+        self.assertIn("= 0221505317046536757\n", self.getFormatted("octal", "(__uint128_t)0x123456789ABDEFull"))<br>
+<br>
+        # complex float<br>
+        self.assertIn("= error: unsupported byte size (1) for complex float format\n", self.getFormatted("complex float", "'a'"))<br>
+<br>
+        # complex integer<br>
+        self.assertIn("= error: unsupported byte size (1) for complex integer format\n", self.getFormatted("complex integer", "'a'"))<br>
<br>
         # hex<br>
         self.assertIn("= 0x00abc123\n", self.getFormatted("hex", "0xABC123"))<br>
@@ -86,6 +96,17 @@ def test(self):<br>
         self.assertIn('= " \\U0000001b\\a\\b\\f\\n\\r\\t\\vaA09"\n', self.getFormatted("OSType", "cstring"))<br>
         self.assertIn('= " \\U0000001b\\a\\b\\f\\n\\r\\t\\vaA09"\n', self.getFormatted("unicode8", "cstring"))<br>
<br>
+        # FIXME: Passing a 'const char *' will ignore any given format,<br>
+        # so we have to repeat the tests with a void* casts to actually test our formats.<br>
+        self.assertIn('= \\x9a\\x0f\\0\\0\\x01\\0\\0\\0\n', self.getFormatted("character array", "(void *)cstring"))<br>
+        self.assertIn('= \\x9a\\x0f\\0\\0\\x01\\0\\0\\0\n', self.getFormatted("character", "(void *)cstring"))<br>
+        self.assertIn('= " \\e\\a\\b\\f\\n\\r\\t\\vaA09"\n', self.getFormatted("c-string", "(void *)cstring"))<br>
+        # FIXME: Ignores the printables characters at the end.<br>
+        self.assertIn('= ........\n', self.getFormatted("printable character", "(void *)cstring"))<br>
+        self.assertIn('= \'\\0\\0\\0\\x01\\0\\0\\x0f\\x9a\'\n', self.getFormatted("OSType", "(void *)cstring"))<br>
+        # FIXME: This should print a string.<br>
+        self.assertIn('= 0x0000000100000f9a\n', self.getFormatted("unicode8", "(void *)cstring"))<br>
+<br>
         self.assertIn('= \\0\\0\\0\\0\\0\\0\\0\\0\n', self.getFormatted("character array", "(__UINT64_TYPE__)0"))<br>
         self.assertIn('= \\0\\0\\0\\0\\0\\0\\0\\0\n', self.getFormatted("character", "(__UINT64_TYPE__)0"))<br>
         self.assertIn('=\n', self.getFormatted("c-string", "(__UINT64_TYPE__)0"))<br>
@@ -137,6 +158,11 @@ def test(self):<br>
         # There is not int128_t[] style, so this only tests uint128_t[].<br>
         self.assertIn("= {0x00000000000000000123456789abcdef}\n", self.getFormatted("uint128_t[]", "__uint128_t i = 0x123456789ABCDEF; i"))<br>
<br>
+        # Different fixed-width float type arrays.<br>
+        self.assertIn("{2 2}\n", self.getFormatted("float16[]", "0x40004000"))<br>
+        self.assertIn("{2 2}\n", self.getFormatted("float32[]", "0x4000000040000000ll"))<br>
+        self.assertIn("{2 0}\n", self.getFormatted("float64[]", "__uint128_t i = 0x4000000000000000ll; i"))<br>
+<br>
         # Invalid format string<br>
         self.expect("expr --format invalid_format_string -- 1", error=True,<br>
                     substrs=["error: Invalid format character or name 'invalid_format_string'. Valid values are:"])<br>
@@ -144,10 +170,12 @@ def test(self):<br>
     # Extends to host target pointer width.<br>
     @skipIf(archs=no_match(['x86_64']))<br>
     @no_debug_info_test<br>
-    def test_instruction(self):<br>
+    def test_pointer(self):<br>
         # pointer<br>
         self.assertIn("= 0x000000000012d687\n", self.getFormatted("pointer", "1234567"))<br>
         self.assertIn("= 0x0000000000000000\n", self.getFormatted("pointer", "0"))<br>
+        # FIXME: Just ignores the input value as it's not pointer sized.<br>
+        self.assertIn("= 0x0000000000000000\n", self.getFormatted("pointer", "'a'"))<br>
<br>
     # Depends on the host target for decoding.<br>
     @skipIf(archs=no_match(['x86_64']))<br>
<br>
<br>
<br>
_______________________________________________<br>
lldb-commits mailing list<br>
<a href="mailto:lldb-commits@lists.llvm.org" target="_blank">lldb-commits@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits</a><br>
</blockquote></div>