From 64dc925c4afad63bc5c8a6017d969abbab1d2ac5 Mon Sep 17 00:00:00 2001
From: Rami Ali <flowergrass@users.noreply.github.com>
Date: Thu, 5 Jan 2017 11:06:12 +1100
Subject: [PATCH] tests/float: Improve formatfloat.c test coverage using
 Python.

---
 tests/float/string_format_modulo.py      | 2 ++
 tests/float/string_format_modulo3.py     | 4 ++++
 tests/float/string_format_modulo3.py.exp | 3 +++
 3 files changed, 9 insertions(+)
 create mode 100644 tests/float/string_format_modulo3.py
 create mode 100644 tests/float/string_format_modulo3.py.exp

diff --git a/tests/float/string_format_modulo.py b/tests/float/string_format_modulo.py
index 681e9eb80..03c8dd00a 100644
--- a/tests/float/string_format_modulo.py
+++ b/tests/float/string_format_modulo.py
@@ -42,3 +42,5 @@ print(('%.40g' % 1e-1)[:2])
 print(('%.40g' % 1e-2)[:2])
 print(('%.40g' % 1e-3)[:2])
 print(('%.40g' % 1e-4)[:2])
+
+print("%.0g" % 1) # 0 precision 'g'
diff --git a/tests/float/string_format_modulo3.py b/tests/float/string_format_modulo3.py
new file mode 100644
index 000000000..563964786
--- /dev/null
+++ b/tests/float/string_format_modulo3.py
@@ -0,0 +1,4 @@
+# uPy and CPython outputs differ for the following
+print("%.1g" % -9.9) # round up 'g' with '-' sign
+print("%.1e" % 9.99) # round up with positive exponent
+print("%.1e" % 0.999) # round up with negative exponent
diff --git a/tests/float/string_format_modulo3.py.exp b/tests/float/string_format_modulo3.py.exp
new file mode 100644
index 000000000..b158c7d7f
--- /dev/null
+++ b/tests/float/string_format_modulo3.py.exp
@@ -0,0 +1,3 @@
+-10
+1.00e+01
+1.00e-00
-- 
GitLab