Merge pull request #10450 from thomasvl/objc_test_file_shuffle_part4

[ObjC] use root relative paths for test proto imports.
pull/10460/head
Matt Fowles Kulukundis 2 years ago committed by GitHub
commit 6e8a7cdcb0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      objectivec/DevTools/compile_testing_protos.sh
  2. 28
      objectivec/Tests/GPBARCUnittestProtos.m
  3. 2
      objectivec/Tests/GPBCodedInputStreamTests.m
  4. 2
      objectivec/Tests/GPBCodedOuputStreamTests.m
  5. 4
      objectivec/Tests/GPBConcurrencyTests.m
  6. 6
      objectivec/Tests/GPBDescriptorTests.m
  7. 2
      objectivec/Tests/GPBDictionaryTests+Bool.m
  8. 2
      objectivec/Tests/GPBDictionaryTests+Int32.m
  9. 2
      objectivec/Tests/GPBDictionaryTests+Int64.m
  10. 2
      objectivec/Tests/GPBDictionaryTests+String.m
  11. 2
      objectivec/Tests/GPBDictionaryTests+UInt32.m
  12. 2
      objectivec/Tests/GPBDictionaryTests+UInt64.m
  13. 2
      objectivec/Tests/GPBExtensionRegistryTest.m
  14. 10
      objectivec/Tests/GPBMessageTests+Merge.m
  15. 12
      objectivec/Tests/GPBMessageTests+Runtime.m
  16. 12
      objectivec/Tests/GPBMessageTests+Serialization.m
  17. 8
      objectivec/Tests/GPBMessageTests.m
  18. 4
      objectivec/Tests/GPBObjectiveCPlusPlusTest.mm
  19. 6
      objectivec/Tests/GPBPerfTests.m
  20. 6
      objectivec/Tests/GPBTestUtilities.m
  21. 48
      objectivec/Tests/GPBUnittestProtos.m
  22. 2
      objectivec/Tests/GPBUnittestProtos2.m
  23. 2
      objectivec/Tests/GPBUnknownFieldSetTest.m
  24. 6
      objectivec/Tests/GPBUtilitiesTests.m
  25. 2
      objectivec/Tests/GPBWellKnownTypesTest.m
  26. 6
      objectivec/Tests/GPBWireFormatTests.m
  27. 4
      objectivec/Tests/UnitTests-Bridging-Header.h
  28. 2
      objectivec/Tests/map_proto2_unittest.proto
  29. 2
      objectivec/Tests/map_unittest.proto
  30. 2
      objectivec/Tests/unittest.proto
  31. 8
      objectivec/Tests/unittest_extension_chain_a.proto
  32. 4
      objectivec/Tests/unittest_extension_chain_b.proto
  33. 2
      objectivec/Tests/unittest_extension_chain_c.proto
  34. 6
      objectivec/Tests/unittest_extension_chain_d.proto
  35. 2
      objectivec/Tests/unittest_extension_chain_e.proto
  36. 2
      objectivec/Tests/unittest_extension_chain_f.proto
  37. 2
      objectivec/Tests/unittest_extension_chain_g.proto
  38. 2
      objectivec/Tests/unittest_import.proto
  39. 2
      objectivec/Tests/unittest_mset.proto
  40. 2
      objectivec/Tests/unittest_objc.proto

@ -83,7 +83,7 @@ for PROTO_FILE in "${OBJC_TEST_PROTO_FILES[@]}"; do
OBJC_NAME=$(echo "${BASE_NAME}" | awk -F _ '{for(i=1; i<=NF; i++) printf "%s", toupper(substr($i,1,1)) substr($i,2);}')
for EXT in "${OBJC_EXTENSIONS[@]}"; do
if [[ ! -f "${OUTPUT_DIR}/${OBJC_NAME}${EXT}" ]]; then
if [[ ! -f "${OUTPUT_DIR}/${DIR}/${OBJC_NAME}${EXT}" ]]; then
RUN_PROTOC=yes
fi
done
@ -130,6 +130,6 @@ find "${OUTPUT_DIR}" \
"${PROTOC}" \
--objc_out="${OUTPUT_DIR}" \
--proto_path=. \
--proto_path=src \
--proto_path="objectivec/Tests" \
"${OBJC_TEST_PROTO_FILES[@]}"

@ -34,17 +34,17 @@
// Makes sure all the generated headers compile with ARC on.
#import "Unittest.pbobjc.h"
#import "UnittestCycle.pbobjc.h"
#import "UnittestDeprecated.pbobjc.h"
#import "UnittestDeprecatedFile.pbobjc.h"
#import "UnittestImport.pbobjc.h"
#import "UnittestImportPublic.pbobjc.h"
#import "UnittestImportPublicLite.pbobjc.h"
#import "UnittestMset.pbobjc.h"
#import "UnittestObjc.pbobjc.h"
#import "UnittestObjcOptions.pbobjc.h"
#import "UnittestObjcStartup.pbobjc.h"
#import "UnittestPreserveUnknownEnum.pbobjc.h"
#import "UnittestRuntimeProto2.pbobjc.h"
#import "UnittestRuntimeProto3.pbobjc.h"
#import "objectivec/Tests/Unittest.pbobjc.h"
#import "objectivec/Tests/UnittestCycle.pbobjc.h"
#import "objectivec/Tests/UnittestDeprecated.pbobjc.h"
#import "objectivec/Tests/UnittestDeprecatedFile.pbobjc.h"
#import "objectivec/Tests/UnittestImport.pbobjc.h"
#import "objectivec/Tests/UnittestImportPublic.pbobjc.h"
#import "objectivec/Tests/UnittestImportPublicLite.pbobjc.h"
#import "objectivec/Tests/UnittestMset.pbobjc.h"
#import "objectivec/Tests/UnittestObjc.pbobjc.h"
#import "objectivec/Tests/UnittestObjcOptions.pbobjc.h"
#import "objectivec/Tests/UnittestObjcStartup.pbobjc.h"
#import "objectivec/Tests/UnittestPreserveUnknownEnum.pbobjc.h"
#import "objectivec/Tests/UnittestRuntimeProto2.pbobjc.h"
#import "objectivec/Tests/UnittestRuntimeProto3.pbobjc.h"

@ -34,7 +34,7 @@
#import "GPBCodedOutputStream.h"
#import "GPBUnknownFieldSet_PackagePrivate.h"
#import "GPBUtilities_PackagePrivate.h"
#import "Unittest.pbobjc.h"
#import "objectivec/Tests/Unittest.pbobjc.h"
@interface CodedInputStreamTests : GPBTestCase
@end

@ -33,7 +33,7 @@
#import "GPBCodedOutputStream_PackagePrivate.h"
#import "GPBCodedInputStream.h"
#import "GPBUtilities_PackagePrivate.h"
#import "Unittest.pbobjc.h"
#import "objectivec/Tests/Unittest.pbobjc.h"
@interface GPBCodedOutputStream (InternalMethods)
// Declared in the .m file, expose for testing.

@ -30,8 +30,8 @@
#import "GPBTestUtilities.h"
#import "Unittest.pbobjc.h"
#import "UnittestObjc.pbobjc.h"
#import "objectivec/Tests/Unittest.pbobjc.h"
#import "objectivec/Tests/UnittestObjc.pbobjc.h"
static const int kNumThreads = 100;
static const int kNumMessages = 100;

@ -33,9 +33,9 @@
#import <objc/runtime.h>
#import "GPBDescriptor_PackagePrivate.h"
#import "Unittest.pbobjc.h"
#import "UnittestObjc.pbobjc.h"
#import "UnittestObjcOptions.pbobjc.h"
#import "objectivec/Tests/Unittest.pbobjc.h"
#import "objectivec/Tests/UnittestObjc.pbobjc.h"
#import "objectivec/Tests/UnittestObjcOptions.pbobjc.h"
@interface DescriptorTests : GPBTestCase
@end

@ -34,7 +34,7 @@
#import "GPBDictionary.h"
#import "GPBTestUtilities.h"
#import "UnittestRuntimeProto2.pbobjc.h"
#import "objectivec/Tests/UnittestRuntimeProto2.pbobjc.h"
// Pull in the macros (using an external file because expanding all tests
// in a single file makes a file that is failing to work with within Xcode.

@ -34,7 +34,7 @@
#import "GPBDictionary.h"
#import "GPBTestUtilities.h"
#import "UnittestRuntimeProto2.pbobjc.h"
#import "objectivec/Tests/UnittestRuntimeProto2.pbobjc.h"
// Pull in the macros (using an external file because expanding all tests
// in a single file makes a file that is failing to work with within Xcode.

@ -34,7 +34,7 @@
#import "GPBDictionary.h"
#import "GPBTestUtilities.h"
#import "UnittestRuntimeProto2.pbobjc.h"
#import "objectivec/Tests/UnittestRuntimeProto2.pbobjc.h"
// Pull in the macros (using an external file because expanding all tests
// in a single file makes a file that is failing to work with within Xcode.

@ -34,7 +34,7 @@
#import "GPBDictionary.h"
#import "GPBTestUtilities.h"
#import "UnittestRuntimeProto2.pbobjc.h"
#import "objectivec/Tests/UnittestRuntimeProto2.pbobjc.h"
// Pull in the macros (using an external file because expanding all tests
// in a single file makes a file that is failing to work with within Xcode.

@ -34,7 +34,7 @@
#import "GPBDictionary.h"
#import "GPBTestUtilities.h"
#import "UnittestRuntimeProto2.pbobjc.h"
#import "objectivec/Tests/UnittestRuntimeProto2.pbobjc.h"
// Pull in the macros (using an external file because expanding all tests
// in a single file makes a file that is failing to work with within Xcode.

@ -34,7 +34,7 @@
#import "GPBDictionary.h"
#import "GPBTestUtilities.h"
#import "UnittestRuntimeProto2.pbobjc.h"
#import "objectivec/Tests/UnittestRuntimeProto2.pbobjc.h"
// Pull in the macros (using an external file because expanding all tests
// in a single file makes a file that is failing to work with within Xcode.

@ -31,7 +31,7 @@
#import "GPBTestUtilities.h"
#import "GPBExtensionRegistry.h"
#import "Unittest.pbobjc.h"
#import "objectivec/Tests/Unittest.pbobjc.h"
@interface GPBExtensionRegistryTest : GPBTestCase
@end

@ -34,11 +34,11 @@
#import "GPBMessage.h"
#import "MapUnittest.pbobjc.h"
#import "Unittest.pbobjc.h"
#import "UnittestPreserveUnknownEnum.pbobjc.h"
#import "UnittestRuntimeProto2.pbobjc.h"
#import "UnittestRuntimeProto3.pbobjc.h"
#import "objectivec/Tests/MapUnittest.pbobjc.h"
#import "objectivec/Tests/Unittest.pbobjc.h"
#import "objectivec/Tests/UnittestPreserveUnknownEnum.pbobjc.h"
#import "objectivec/Tests/UnittestRuntimeProto2.pbobjc.h"
#import "objectivec/Tests/UnittestRuntimeProto3.pbobjc.h"
@interface MessageMergeTests : GPBTestCase
@end

@ -34,12 +34,12 @@
#import "GPBMessage.h"
#import "MapUnittest.pbobjc.h"
#import "Unittest.pbobjc.h"
#import "UnittestCycle.pbobjc.h"
#import "UnittestObjcStartup.pbobjc.h"
#import "UnittestRuntimeProto2.pbobjc.h"
#import "UnittestRuntimeProto3.pbobjc.h"
#import "objectivec/Tests/MapUnittest.pbobjc.h"
#import "objectivec/Tests/Unittest.pbobjc.h"
#import "objectivec/Tests/UnittestCycle.pbobjc.h"
#import "objectivec/Tests/UnittestObjcStartup.pbobjc.h"
#import "objectivec/Tests/UnittestRuntimeProto2.pbobjc.h"
#import "objectivec/Tests/UnittestRuntimeProto3.pbobjc.h"
@interface MessageRuntimeTests : GPBTestCase
@end

@ -34,12 +34,12 @@
#import "GPBMessage.h"
#import "MapProto2Unittest.pbobjc.h"
#import "MapUnittest.pbobjc.h"
#import "Unittest.pbobjc.h"
#import "UnittestPreserveUnknownEnum.pbobjc.h"
#import "UnittestRuntimeProto2.pbobjc.h"
#import "UnittestRuntimeProto3.pbobjc.h"
#import "objectivec/Tests/MapProto2Unittest.pbobjc.h"
#import "objectivec/Tests/MapUnittest.pbobjc.h"
#import "objectivec/Tests/Unittest.pbobjc.h"
#import "objectivec/Tests/UnittestPreserveUnknownEnum.pbobjc.h"
#import "objectivec/Tests/UnittestRuntimeProto2.pbobjc.h"
#import "objectivec/Tests/UnittestRuntimeProto3.pbobjc.h"
@interface MessageSerializationTests : GPBTestCase
@end

@ -38,10 +38,10 @@
#import "GPBMessage_PackagePrivate.h"
#import "GPBUnknownField_PackagePrivate.h"
#import "GPBUnknownFieldSet_PackagePrivate.h"
#import "Unittest.pbobjc.h"
#import "UnittestObjc.pbobjc.h"
#import "UnittestObjcOptions.pbobjc.h"
#import "UnittestImport.pbobjc.h"
#import "objectivec/Tests/Unittest.pbobjc.h"
#import "objectivec/Tests/UnittestObjc.pbobjc.h"
#import "objectivec/Tests/UnittestObjcOptions.pbobjc.h"
#import "objectivec/Tests/UnittestImport.pbobjc.h"
// Helper class to test KVO.
@interface GPBKVOTestObserver : NSObject {

@ -43,8 +43,8 @@
// The "well know types" should have cross file enums needing imports.
#import "GPBProtocolBuffers.h"
// Some of the tests explicitly use cross file enums also.
#import "Unittest.pbobjc.h"
#import "UnittestImport.pbobjc.h"
#import "objectivec/Tests/Unittest.pbobjc.h"
#import "objectivec/Tests/UnittestImport.pbobjc.h"
// Sanity check the conditions of the test within the Xcode project.
#if !__cplusplus

@ -29,9 +29,9 @@
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#import "GPBTestUtilities.h"
#import "Unittest.pbobjc.h"
#import "UnittestImport.pbobjc.h"
#import "UnittestObjc.pbobjc.h"
#import "objectivec/Tests/Unittest.pbobjc.h"
#import "objectivec/Tests/UnittestImport.pbobjc.h"
#import "objectivec/Tests/UnittestObjc.pbobjc.h"
//
// This file really just uses the unittests framework as a testbed to

@ -30,9 +30,9 @@
#import "GPBTestUtilities.h"
#import "MapUnittest.pbobjc.h"
#import "Unittest.pbobjc.h"
#import "UnittestImport.pbobjc.h"
#import "objectivec/Tests/MapUnittest.pbobjc.h"
#import "objectivec/Tests/Unittest.pbobjc.h"
#import "objectivec/Tests/UnittestImport.pbobjc.h"
const uint32_t kGPBDefaultRepeatCount = 2;

@ -31,29 +31,29 @@
// Collects all the compiled protos into one file and compiles them to make sure
// the compiler is generating valid code.
#import "AnyTest.pbobjc.m"
#import "MapProto2Unittest.pbobjc.m"
#import "MapUnittest.pbobjc.m"
#import "Unittest.pbobjc.m"
#import "UnittestCycle.pbobjc.m"
#import "UnittestDeprecated.pbobjc.m"
#import "UnittestDeprecatedFile.pbobjc.m"
#import "UnittestImport.pbobjc.m"
#import "UnittestImportPublic.pbobjc.m"
#import "UnittestImportPublicLite.pbobjc.m"
#import "UnittestMset.pbobjc.m"
#import "UnittestMsetWireFormat.pbobjc.m"
#import "UnittestObjc.pbobjc.m"
#import "UnittestObjcOptions.pbobjc.m"
#import "UnittestObjcStartup.pbobjc.m"
#import "UnittestPreserveUnknownEnum.pbobjc.m"
#import "UnittestRuntimeProto2.pbobjc.m"
#import "UnittestRuntimeProto3.pbobjc.m"
#import "objectivec/Tests/AnyTest.pbobjc.m"
#import "objectivec/Tests/MapProto2Unittest.pbobjc.m"
#import "objectivec/Tests/MapUnittest.pbobjc.m"
#import "objectivec/Tests/Unittest.pbobjc.m"
#import "objectivec/Tests/UnittestCycle.pbobjc.m"
#import "objectivec/Tests/UnittestDeprecated.pbobjc.m"
#import "objectivec/Tests/UnittestDeprecatedFile.pbobjc.m"
#import "objectivec/Tests/UnittestImport.pbobjc.m"
#import "objectivec/Tests/UnittestImportPublic.pbobjc.m"
#import "objectivec/Tests/UnittestImportPublicLite.pbobjc.m"
#import "objectivec/Tests/UnittestMset.pbobjc.m"
#import "objectivec/Tests/UnittestMsetWireFormat.pbobjc.m"
#import "objectivec/Tests/UnittestObjc.pbobjc.m"
#import "objectivec/Tests/UnittestObjcOptions.pbobjc.m"
#import "objectivec/Tests/UnittestObjcStartup.pbobjc.m"
#import "objectivec/Tests/UnittestPreserveUnknownEnum.pbobjc.m"
#import "objectivec/Tests/UnittestRuntimeProto2.pbobjc.m"
#import "objectivec/Tests/UnittestRuntimeProto3.pbobjc.m"
#import "UnittestExtensionChainA.pbobjc.m"
#import "UnittestExtensionChainB.pbobjc.m"
#import "UnittestExtensionChainC.pbobjc.m"
#import "UnittestExtensionChainD.pbobjc.m"
#import "UnittestExtensionChainE.pbobjc.m"
#import "objectivec/Tests/UnittestExtensionChainA.pbobjc.m"
#import "objectivec/Tests/UnittestExtensionChainB.pbobjc.m"
#import "objectivec/Tests/UnittestExtensionChainC.pbobjc.m"
#import "objectivec/Tests/UnittestExtensionChainD.pbobjc.m"
#import "objectivec/Tests/UnittestExtensionChainE.pbobjc.m"
// See GPBUnittestProtos2.m for for "UnittestExtensionChainF.pbobjc.m"
#import "UnittestExtensionChainG.pbobjc.m"
#import "objectivec/Tests/UnittestExtensionChainG.pbobjc.m"

@ -31,4 +31,4 @@
// This one file in the chain tests is compiled by itself to ensure if was
// generated with the extra #imports needed to pull in the indirect Root class
// used in its Root registry.
#import "UnittestExtensionChainF.pbobjc.m"
#import "objectivec/Tests/UnittestExtensionChainF.pbobjc.m"

@ -32,7 +32,7 @@
#import "GPBUnknownField_PackagePrivate.h"
#import "GPBUnknownFieldSet_PackagePrivate.h"
#import "Unittest.pbobjc.h"
#import "objectivec/Tests/Unittest.pbobjc.h"
@interface GPBUnknownFieldSet (GPBUnknownFieldSetTest)
- (void)getTags:(int32_t*)tags;

@ -41,9 +41,9 @@
#import "GPBMessage.h"
#import "GPBUnknownField_PackagePrivate.h"
#import "MapUnittest.pbobjc.h"
#import "Unittest.pbobjc.h"
#import "UnittestObjc.pbobjc.h"
#import "objectivec/Tests/MapUnittest.pbobjc.h"
#import "objectivec/Tests/Unittest.pbobjc.h"
#import "objectivec/Tests/UnittestObjc.pbobjc.h"
@interface UtilitiesTests : GPBTestCase
@end

@ -33,7 +33,7 @@
#import <XCTest/XCTest.h>
#import "GPBTestUtilities.h"
#import "AnyTest.pbobjc.h"
#import "objectivec/Tests/AnyTest.pbobjc.h"
// Nanosecond time accuracy
static const NSTimeInterval kTimeAccuracy = 1e-9;

@ -33,9 +33,9 @@
#import "GPBCodedInputStream.h"
#import "GPBMessage_PackagePrivate.h"
#import "GPBUnknownField_PackagePrivate.h"
#import "Unittest.pbobjc.h"
#import "UnittestMset.pbobjc.h"
#import "UnittestMsetWireFormat.pbobjc.h"
#import "objectivec/Tests/Unittest.pbobjc.h"
#import "objectivec/Tests/UnittestMset.pbobjc.h"
#import "objectivec/Tests/UnittestMsetWireFormat.pbobjc.h"
@interface WireFormatTests : GPBTestCase
@end

@ -2,5 +2,5 @@
// Use this file to import your target's public headers that you would like to expose to Swift.
//
#import "UnittestRuntimeProto2.pbobjc.h"
#import "UnittestRuntimeProto3.pbobjc.h"
#import "objectivec/Tests/UnittestRuntimeProto2.pbobjc.h"
#import "objectivec/Tests/UnittestRuntimeProto3.pbobjc.h"

@ -30,7 +30,7 @@
syntax = "proto2";
import "unittest_import.proto";
import "objectivec/Tests/unittest_import.proto";
// We don't put this in a package within proto2 because we need to make sure
// that the generated code doesn't depend on being in the proto2 namespace.

@ -30,7 +30,7 @@
syntax = "proto3";
import "unittest.proto";
import "objectivec/Tests/unittest.proto";
// We don't put this in a package within proto2 because we need to make sure
// that the generated code doesn't depend on being in the proto2 namespace.

@ -38,7 +38,7 @@
syntax = "proto2";
import "unittest_import.proto";
import "objectivec/Tests/unittest_import.proto";
// We don't put this in a package within proto2 because we need to make sure
// that the generated code doesn't depend on being in the proto2 namespace.

@ -31,11 +31,11 @@ syntax = "proto2";
package objc.protobuf.tests;
import "unittest.proto";
import "objectivec/Tests/unittest.proto";
import "unittest_extension_chain_b.proto";
import "unittest_extension_chain_c.proto";
import "unittest_extension_chain_d.proto";
import "objectivec/Tests/unittest_extension_chain_b.proto";
import "objectivec/Tests/unittest_extension_chain_c.proto";
import "objectivec/Tests/unittest_extension_chain_d.proto";
// The Root for this file should end up adding the local extension and merging
// in the extensions from D's Root (unittest and C will come via D's).

@ -31,9 +31,9 @@ syntax = "proto2";
package objc.protobuf.tests;
import "unittest.proto";
import "objectivec/Tests/unittest.proto";
import "unittest_extension_chain_c.proto";
import "objectivec/Tests/unittest_extension_chain_c.proto";
// The Root for this file should end up adding the local extension and merging
// in the extensions from C's Root (unittest will come via C's).

@ -31,7 +31,7 @@ syntax = "proto2";
package objc.protobuf.tests;
import "unittest.proto";
import "objectivec/Tests/unittest.proto";
// The Root for this file should end up adding the local extension and merging
// in the extensions from unittest.proto's Root.

@ -31,10 +31,10 @@ syntax = "proto2";
package objc.protobuf.tests;
import "unittest.proto";
import "objectivec/Tests/unittest.proto";
import "unittest_extension_chain_b.proto";
import "unittest_extension_chain_c.proto";
import "objectivec/Tests/unittest_extension_chain_b.proto";
import "objectivec/Tests/unittest_extension_chain_c.proto";
// The root should end up needing to merge B (C will be merged into B, so it
// doesn't need to be directly merged).

@ -31,7 +31,7 @@ syntax = "proto2";
package objc.protobuf.tests;
import "unittest.proto";
import "objectivec/Tests/unittest.proto";
// The Root for this file should end up just merging in unittest's Root.

@ -31,7 +31,7 @@ syntax = "proto2";
package objc.protobuf.tests;
import "unittest_extension_chain_g.proto";
import "objectivec/Tests/unittest_extension_chain_g.proto";
// The Root for this file should just be merging in the extensions from C's
// Root (because G doesn't define anything itself).

@ -31,7 +31,7 @@ syntax = "proto2";
package objc.protobuf.tests;
import "unittest_extension_chain_c.proto";
import "objectivec/Tests/unittest_extension_chain_c.proto";
// The Root for this file should just be merging in the extensions from C's
// Root.

@ -39,7 +39,7 @@ syntax = "proto2";
package objc.protobuf.tests.import;
// Test public import
import public "unittest_import_public.proto";
import public "objectivec/Tests/unittest_import_public.proto";
message ImportMessage {
optional int32 d = 1;

@ -37,7 +37,7 @@
syntax = "proto2";
import "unittest_mset_wire_format.proto";
import "objectivec/Tests/unittest_mset_wire_format.proto";
package objc.protobuf.tests;

@ -30,7 +30,7 @@
syntax = "proto2";
import "google/protobuf/any.proto";
import "unittest.proto";
import "objectivec/Tests/unittest.proto";
package objc.protobuf.tests;

Loading…
Cancel
Save