diff --git a/.travis.yml b/.travis.yml
index a361894..c9d1b5e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,4 +1,9 @@
-language: minimal
+language: python
+
+python:
+  - 3.5
+  - 3.6
+  - 3.7
 
 install:
   - source prepareenv.sh
@@ -8,7 +13,7 @@
 script:
   - conda activate yosys-env
   - which tox
-  - tox
+  - TOXENV="py${TRAVIS_PYTHON_VERSION//./}" tox
 
 notifications:
   email: false
diff --git a/prepareenv.sh b/prepareenv.sh
index 1c89efe..0ff3322 100755
--- a/prepareenv.sh
+++ b/prepareenv.sh
@@ -16,4 +16,5 @@
 conda install -q setuptools
 conda update -q conda
 conda env create --file conf/environment.yml
+conda config --set env_prompt '({name})'
 conda activate yosys-env
diff --git a/tests/vtr/lutff-pair/golden.pb_type.xml b/tests/vtr/lutff-pair/golden.pb_type.xml
index 2d667bf..ea403db 100644
--- a/tests/vtr/lutff-pair/golden.pb_type.xml
+++ b/tests/vtr/lutff-pair/golden.pb_type.xml
@@ -39,16 +39,16 @@
       <port from="lut" name="I[3]" type="output"/>
     </direct>
     <mux name="mux">
-      <port from="lut" name="O" type="input">
-        <metadata>
-          <meta name="fasm_mux">L</meta>
-        </metadata>
-      </port>
       <port from="ff" name="Q" type="input">
         <metadata>
           <meta name="fasm_mux">F</meta>
         </metadata>
       </port>
+      <port from="lut" name="O" type="input">
+        <metadata>
+          <meta name="fasm_mux">L</meta>
+        </metadata>
+      </port>
       <port name="O" type="output"/>
       <metadata>
         <meta name="type">bel</meta>
diff --git a/tox.ini b/tox.ini
index ec7d104..bfbc74c 100644
--- a/tox.ini
+++ b/tox.ini
@@ -5,6 +5,8 @@
 setenv =
     PYTHONPATH={toxinidir}/v2x
 basepython =
+    py27: python2.7
+    py34: python3.4
     py35: python3.5
     py36: python3.6
     py37: python3.7
@@ -15,12 +17,14 @@
     flake8
     pytest
 commands =
-    check-manifest --ignore tox.ini,tests*
+    check-manifest --ignore tox.ini,tests,*.pyc,*.swp
+    python --version
     # This repository uses a Markdown long_description, so the -r flag to
     # `setup.py check` is not needed. If your project contains a README.rst,
     # use `python setup.py check -m -r -s` instead.
     python setup.py check -m -s
     flake8 .
+    pytest --doctest-modules -vv v2x
     pytest -vv
 [flake8]
 exclude = .tox,*.egg,build,data
diff --git a/v2x/vlog_to_pbtype.py b/v2x/vlog_to_pbtype.py
index 8c4f8c7..e0a0e66 100755
--- a/v2x/vlog_to_pbtype.py
+++ b/v2x/vlog_to_pbtype.py
@@ -268,10 +268,14 @@
 ) -> ET.Element:
 
     mux_xml = ET.SubElement(ic_xml, "mux", {"name": mux_name})
-    for mux_input, driver in mux_inputs.items():
+
+    keys = sorted(list(mux_inputs.keys()))
+    for mux_input, driver in [(k, mux_inputs[k],) for k in keys]:
         create_port(mux_xml, driver, "input", metadata={'fasm_mux': mux_input})
+
     assert len(mux_outputs) == 1, mux_outputs
-    for mux_pin, sinks in mux_outputs.items():
+    keys = sorted(list(mux_outputs.keys()))
+    for mux_pin, sinks in [(k, mux_outputs[k],) for k in keys]:
         assert len(sinks) == 1, sinks
         for sink_pin, path_attr in sinks:
             create_port(mux_xml, sink_pin, "output")
