Example #1
0
    def CheckConversion(self, data_old, data_expected):
        """Given a data dictionary, test upgrading to current version.

    Args:
        data_old: TFLite model as a dictionary (arbitrary version).
        data_expected: TFLite model as a dictionary (upgraded).
    """
        converter = upgrade_schema_lib.Converter()
        with tempfile.NamedTemporaryFile(suffix=".json", mode="w+") as in_json, \
                tempfile.NamedTemporaryFile(
                    suffix=".json", mode="w+") as out_json, \
                tempfile.NamedTemporaryFile(
                    suffix=".bin", mode="w+b") as out_bin, \
                tempfile.NamedTemporaryFile(
                    suffix=".tflite", mode="w+b") as out_tflite:
            JsonDumpAndFlush(data_old, in_json)
            # Test JSON output
            converter.Convert(in_json.name, out_json.name)
            # Test binary output
            # Convert to .tflite  and then to .bin and check if binary is equal
            converter.Convert(in_json.name, out_tflite.name)
            converter.Convert(out_tflite.name, out_bin.name)
            self.assertEqual(
                open(out_bin.name, "rb").read(),
                open(out_tflite.name, "rb").read())
            # Test that conversion actually produced successful new json.
            converted_schema = json.load(out_json)
            self.assertEqual(converted_schema, data_expected)
Example #2
0
 def testInvalidExtension(self):
   converter = upgrade_schema_lib.Converter()
   invalid_extension = tempfile.mktemp(suffix=".foo")
   with self.assertRaisesRegex(ValueError, "Invalid extension on input"):
     converter.Convert(invalid_extension, invalid_extension)
   with tempfile.NamedTemporaryFile(suffix=".json", mode="w+") as in_json:
     JsonDumpAndFlush(EMPTY_TEST_SCHEMA_V1, in_json)
     with self.assertRaisesRegex(ValueError, "Invalid extension on output"):
       converter.Convert(in_json.name, invalid_extension)
Example #3
0
 def testNonExistentFile(self):
     converter = upgrade_schema_lib.Converter()
     non_existent = tempfile.mktemp(suffix=".json")
     with self.assertRaisesRegexp(IOError, "No such file or directory"):
         converter.Convert(non_existent, non_existent)