Skip to content

Commit bd69862

Browse files
authored
test input: use explicit package declaration (#345)
1 parent 74205e3 commit bd69862

File tree

78 files changed

+141
-37
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+141
-37
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ jobs:
1313
name: ${{ matrix.os }} / ${{ matrix.python-version }}
1414
runs-on: ${{ matrix.os }}-latest
1515
strategy:
16+
fail-fast: false
1617
matrix:
1718
os: [Ubuntu, MacOS, Windows]
1819
python-version: ['3.6.7', '3.7', '3.8', '3.9', '3.10']
@@ -56,9 +57,7 @@ jobs:
5657

5758
- name: Install dependencies
5859
shell: bash
59-
run: |
60-
poetry run python -m pip install pip -U
61-
poetry install
60+
run: poetry install
6261

6362
- name: Generate code from proto files
6463
shell: bash

tests/conftest.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
import copy
2+
import sys
3+
14
import pytest
25

36

@@ -10,3 +13,10 @@ def pytest_addoption(parser):
1013
@pytest.fixture(scope="session")
1114
def repeat(request):
1215
return request.config.getoption("repeat")
16+
17+
18+
@pytest.fixture
19+
def reset_sys_path():
20+
original = copy.deepcopy(sys.path)
21+
yield
22+
sys.path = original

tests/generate.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ async def generate_test_case_output(
7878
"""
7979

8080
test_case_output_path_reference = output_path_reference.joinpath(test_case_name)
81-
test_case_output_path_betterproto = output_path_betterproto.joinpath(test_case_name)
81+
test_case_output_path_betterproto = output_path_betterproto
8282

8383
os.makedirs(test_case_output_path_reference, exist_ok=True)
8484
os.makedirs(test_case_output_path_betterproto, exist_ok=True)

tests/grpc/test_grpclib_client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
import pytest
88
from betterproto.grpc.util.async_channel import AsyncChannel
99
from grpclib.testing import ChannelFor
10-
from tests.output_betterproto.service.service import (
10+
from tests.output_betterproto.service import (
1111
DoThingRequest,
1212
DoThingResponse,
1313
GetThingRequest,
1414
)
15-
from tests.output_betterproto.service.service import TestStub as ThingServiceClient
15+
from tests.output_betterproto.service import TestStub as ThingServiceClient
1616

1717
from .thing_service import ThingService
1818

tests/grpc/thing_service.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from tests.output_betterproto.service.service import (
1+
from tests.output_betterproto.service import (
22
DoThingResponse,
33
DoThingRequest,
44
GetThingRequest,

tests/inputs/bool/bool.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package bool;
4+
35
message Test {
46
bool value = 1;
57
}

tests/inputs/bytes/bytes.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package bytes;
4+
35
message Test {
46
bytes data = 1;
57
}

tests/inputs/casing/casing.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package casing;
4+
35
enum my_enum {
46
ZERO = 0;
57
ONE = 1;

tests/inputs/casing_message_field_uppercase/casing_message_field_uppercase.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package casing_message_field_uppercase;
4+
35
message Test {
46
int32 UPPERCASE = 1;
57
int32 UPPERCASE_V2 = 2;

tests/inputs/deprecated/deprecated.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package deprecated;
4+
35
// Some documentation about the Test message.
46
message Test {
57
// Some documentation about the value.

tests/inputs/deprecated_field/deprecated_field.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package deprecated_field;
4+
35
// Some documentation about the Test message.
46
message Test {
57
// Some documentation about the value.

tests/inputs/double/double.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package double;
4+
35
message Test {
46
double count = 1;
57
}

tests/inputs/empty_repeated/empty_repeated.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package empty_repeated;
4+
35
message MessageA {
46
repeated float values = 1;
57
}

tests/inputs/enum/enum.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package enum;
4+
35
// Tests that enums are correctly serialized and that it correctly handles skipped and out-of-order enum values
46
message Test {
57
Choice choice = 1;

tests/inputs/example/example.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939

4040
syntax = "proto2";
4141

42+
package example;
43+
4244
// package google.protobuf;
4345

4446
option go_package = "google.golang.org/protobuf/types/descriptorpb";

tests/inputs/example_service/test_example_service.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import pytest
44
from grpclib.testing import ChannelFor
5-
from tests.output_betterproto.example_service.example_service import (
5+
from tests.output_betterproto.example_service import (
66
ExampleRequest,
77
ExampleResponse,
88
TestBase,

tests/inputs/field_name_identical_to_type/field_name_identical_to_type.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package field_name_identical_to_type;
4+
35
// Tests that messages may contain fields with names that are identical to their python types (PR #294)
46

57
message Test {

tests/inputs/fixed/fixed.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package fixed;
4+
35
message Test {
46
fixed32 foo = 1;
57
sfixed32 bar = 2;

tests/inputs/float/float.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package float;
4+
35
// Some documentation about the Test message.
46
message Test {
57
double positive = 1;

tests/inputs/google_impl_behavior_equivalence/google_impl_behavior_equivalence.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package google_impl_behavior_equivalence;
4+
35
message Foo{
46
int64 bar = 1;
57
}

tests/inputs/googletypes/googletypes.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package googletypes;
4+
35
import "google/protobuf/duration.proto";
46
import "google/protobuf/timestamp.proto";
57
import "google/protobuf/wrappers.proto";

tests/inputs/googletypes_response/googletypes_response.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package googletypes_response;
4+
35
import "google/protobuf/wrappers.proto";
46

57
// Tests that wrapped values can be used directly as return values

tests/inputs/googletypes_response_embedded/googletypes_response_embedded.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package googletypes_response_embedded;
4+
35
import "google/protobuf/wrappers.proto";
46

57
// Tests that wrapped values are supported as part of output message

tests/inputs/googletypes_service_returns_empty/googletypes_service_returns_empty.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package googletypes_service_returns_empty;
4+
35
import "google/protobuf/empty.proto";
46

57
service Test {

tests/inputs/googletypes_service_returns_googletype/googletypes_service_returns_googletype.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package googletypes_service_returns_googletype;
4+
35
import "google/protobuf/empty.proto";
46
import "google/protobuf/struct.proto";
57

tests/inputs/googletypes_struct/googletypes_struct.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package googletypes_struct;
4+
35
import "google/protobuf/struct.proto";
46

57
message Test {

tests/inputs/googletypes_value/googletypes_value.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package googletypes_value;
4+
35
import "google/protobuf/struct.proto";
46

57
// Tests that fields of type google.protobuf.Value can contain arbitrary JSON-values.

tests/inputs/import_capitalized_package/capitalized.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
syntax = "proto3";
22

33

4-
package Capitalized;
4+
package import_capitalized_package.Capitalized;
55

66
message Message {
77

tests/inputs/import_capitalized_package/test.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package import_capitalized_package;
4+
35
import "capitalized.proto";
46

57
// Tests that we can import from a package with a capital name, that looks like a nested type, but isn't.

tests/inputs/import_child_package_from_package/child.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
syntax = "proto3";
22

3-
package package.childpackage;
3+
package import_child_package_from_package.package.childpackage;
44

55
message ChildMessage {
66

tests/inputs/import_child_package_from_package/import_child_package_from_package.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package import_child_package_from_package;
4+
35
import "package_message.proto";
46

57
// Tests generated imports when a message in a package refers to a message in a nested child package.

tests/inputs/import_child_package_from_package/package_message.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ syntax = "proto3";
22

33
import "child.proto";
44

5-
package package;
5+
package import_child_package_from_package.package;
66

77
message PackageMessage {
88
package.childpackage.ChildMessage c = 1;

tests/inputs/import_child_package_from_root/child.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
syntax = "proto3";
22

3-
package childpackage;
3+
package import_child_package_from_root.childpackage;
44

55
message Message {
66

tests/inputs/import_child_package_from_root/import_child_package_from_root.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package import_child_package_from_root;
4+
35
import "child.proto";
46

57
// Tests generated imports when a message in root refers to a message in a child package.

tests/inputs/import_circular_dependency/import_circular_dependency.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package import_circular_dependency;
4+
35
import "root.proto";
46
import "other.proto";
57

tests/inputs/import_circular_dependency/other.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
syntax = "proto3";
22

33
import "root.proto";
4-
package other;
4+
package import_circular_dependency.other;
55

66
message OtherPackageMessage {
77
RootPackageMessage rootPackageMessage = 1;
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package import_circular_dependency;
4+
35
message RootPackageMessage {
46

57
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
syntax = "proto3";
22

3-
package cousin.cousin_subpackage;
3+
package import_cousin_package.cousin.cousin_subpackage;
44

55
message CousinMessage {
66
}

tests/inputs/import_cousin_package/test.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
syntax = "proto3";
22

3-
package test.subpackage;
3+
package import_cousin_package.test.subpackage;
44

55
import "cousin.proto";
66

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
syntax = "proto3";
22

3-
package cousin.subpackage;
3+
package import_cousin_package_same_name.cousin.subpackage;
44

55
message CousinMessage {
66
}

tests/inputs/import_cousin_package_same_name/test.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
syntax = "proto3";
22

3-
package test.subpackage;
3+
package import_cousin_package_same_name.test.subpackage;
44

55
import "cousin.proto";
66

tests/inputs/import_packages_same_name/import_packages_same_name.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
syntax = "proto3";
22

3+
package import_packages_same_name;
4+
35
import "users_v1.proto";
46
import "posts_v1.proto";
57

tests/inputs/import_packages_same_name/posts_v1.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
syntax = "proto3";
22

3-
package posts.v1;
3+
package import_packages_same_name.posts.v1;
44

55
message Post {
66

tests/inputs/import_packages_same_name/users_v1.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
syntax = "proto3";
22

3-
package users.v1;
3+
package import_packages_same_name.users.v1;
44

55
message User {
66

tests/inputs/import_parent_package_from_child/import_parent_package_from_child.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ syntax = "proto3";
22

33
import "parent_package_message.proto";
44

5-
package parent.child;
5+
package import_parent_package_from_child.parent.child;
66

77
// Tests generated imports when a message refers to a message defined in its parent package
88

0 commit comments

Comments
 (0)