Index: tests/service_tests/conformance/conformance_test.cc |
diff --git a/tests/service_tests/conformance/conformance_test.cc b/tests/service_tests/conformance/conformance_test.cc |
deleted file mode 100644 |
index 686e7bdefcacfdd852a06a656b6594a1df277875..0000000000000000000000000000000000000000 |
--- a/tests/service_tests/conformance/conformance_test.cc |
+++ /dev/null |
@@ -1,304 +0,0 @@ |
-// Copyright (c) 2015, the Dartino project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE.md file. |
- |
-#define TESTING |
- |
-#include <stdint.h> |
-#include <sys/time.h> |
- |
-#include <cstdio> |
- |
-#include "src/shared/assert.h" // NOLINT(build/include) |
-#include "conformance_test_shared.h" // NOLINT(build/include) |
-#include "cc/conformance_service.h" // NOLINT(build/include) |
- |
-static void BuildPerson(PersonBuilder person, int n) { |
- person.setAge(n * 20); |
- if (n > 1) { |
- List<PersonBuilder> children = person.initChildren(2); |
- BuildPerson(children[0], n - 1); |
- BuildPerson(children[1], n - 1); |
- } |
-} |
- |
-static int Depth(Node node) { |
- if (node.isNum()) return 1; |
- int left = Depth(node.getCons().getFst()); |
- int right = Depth(node.getCons().getSnd()); |
- return 1 + ((left > right) ? left : right); |
-} |
- |
-static void* FooCallbackData = reinterpret_cast<void*>(101); |
-static void FooCallback(void* data) { |
- EXPECT_EQ(FooCallbackData, data); |
-} |
- |
-static void* BarCallbackData = reinterpret_cast<void*>(102); |
-static void BarCallback(int i, void* data) { |
- EXPECT_EQ(BarCallbackData, data); |
- EXPECT_EQ(24, i); |
-} |
- |
-static void PingCallback(int result, void* data) { |
- EXPECT_EQ(42, result); |
-} |
- |
-static void CreateAgeStatsCallback(AgeStats stats, void* data) { |
- EXPECT_EQ(42, stats.getAverageAge()); |
- EXPECT_EQ(42, stats.getSum()); |
- stats.Delete(); |
-} |
- |
-static void CreatePersonCallback(Person generated, void* data) { |
- EXPECT_EQ(42, generated.getAge()); |
- char* name = generated.getName(); |
- int name_length = strlen(name); |
- EXPECT_EQ(6, name_length); |
- EXPECT(strcmp(name, "person") == 0); |
- free(name); |
- List<uint16_t> name_data = generated.getNameData(); |
- EXPECT_EQ(6, name_data.length()); |
- EXPECT_EQ('p', name_data[0]); |
- EXPECT_EQ('n', name_data[5]); |
- |
- List<Person> children = generated.getChildren(); |
- EXPECT_EQ(10, children.length()); |
- for (int i = 0; i < children.length(); i++) { |
- EXPECT_EQ(12 + i * 2, children[i].getAge()); |
- } |
- generated.Delete(); |
-} |
- |
-static void CreateNodeCallback(Node node, void* data) { |
- EXPECT_EQ(24680, node.ComputeUsed()); |
- EXPECT_EQ(10, Depth(node)); |
- node.Delete(); |
-} |
- |
-static void GetAgeCallback(int age, void* data) { |
- EXPECT_EQ(140, age); |
-} |
- |
-static void CountCallback(int count, void* data) { |
- EXPECT_EQ(127, count); |
-} |
- |
-static void GetAgeStatsCallback(AgeStats stats, void* data) { |
- EXPECT_EQ(39, stats.getAverageAge()); |
- EXPECT_EQ(4940, stats.getSum()); |
- stats.Delete(); |
-} |
- |
-static void FlipTableCallback(TableFlip flip_result, void* data) { |
- const char* expected_flip = "(╯°□°)╯︵ ┻━┻"; |
- char* result = flip_result.getFlip(); |
- EXPECT(strcmp(result, expected_flip) == 0); |
- free(result); |
- flip_result.Delete(); |
-} |
- |
-static void InternalFieldsCallback(InternalFields internalFields, void* data) { |
- const int32_t expected_offset = 1337; |
- const char* expected_segment = "h4x0r"; |
- int32_t offset = internalFields.getOffset(); |
- char* segment = internalFields.getSegment(); |
- EXPECT(offset == expected_offset); |
- EXPECT(strcmp(segment, expected_segment) == 0); |
- free(segment); |
- internalFields.Delete(); |
-} |
- |
-static void RunPersonTests() { |
- { |
- MessageBuilder builder(512); |
- PersonBuilder person = builder.initRoot<PersonBuilder>(); |
- BuildPerson(person, 7); |
- EXPECT_EQ(3136, builder.ComputeUsed()); |
- int age = ConformanceService::getAge(person); |
- EXPECT_EQ(140, age); |
- } |
- |
- { |
- MessageBuilder builder(512); |
- PersonBuilder person = builder.initRoot<PersonBuilder>(); |
- BuildPerson(person, 7); |
- EXPECT_EQ(3136, builder.ComputeUsed()); |
- ConformanceService::getAgeAsync(person, GetAgeCallback, NULL); |
- } |
- |
- { |
- MessageBuilder builder(512); |
- PersonBuilder person = builder.initRoot<PersonBuilder>(); |
- BuildPerson(person, 7); |
- EXPECT_EQ(3136, builder.ComputeUsed()); |
- int count = ConformanceService::count(person); |
- EXPECT_EQ(127, count); |
- } |
- |
- { |
- MessageBuilder builder(512); |
- PersonBuilder person = builder.initRoot<PersonBuilder>(); |
- BuildPerson(person, 7); |
- EXPECT_EQ(3136, builder.ComputeUsed()); |
- ConformanceService::countAsync(person, CountCallback, NULL); |
- } |
- |
- { |
- MessageBuilder builder(512); |
- PersonBuilder person = builder.initRoot<PersonBuilder>(); |
- BuildPerson(person, 7); |
- EXPECT_EQ(3136, builder.ComputeUsed()); |
- AgeStats stats = ConformanceService::getAgeStats(person); |
- EXPECT_EQ(39, stats.getAverageAge()); |
- EXPECT_EQ(4940, stats.getSum()); |
- stats.Delete(); |
- } |
- |
- { |
- MessageBuilder builder(512); |
- PersonBuilder person = builder.initRoot<PersonBuilder>(); |
- BuildPerson(person, 7); |
- EXPECT_EQ(3136, builder.ComputeUsed()); |
- ConformanceService::getAgeStatsAsync(person, GetAgeStatsCallback, NULL); |
- } |
- |
- { |
- AgeStats stats = ConformanceService::createAgeStats(42, 42); |
- EXPECT_EQ(42, stats.getAverageAge()); |
- EXPECT_EQ(42, stats.getSum()); |
- stats.Delete(); |
- } |
- |
- ConformanceService::createAgeStatsAsync(42, 42, CreateAgeStatsCallback, NULL); |
- |
- { |
- Person generated = ConformanceService::createPerson(10); |
- char* name = generated.getName(); |
- int name_length = strlen(name); |
- EXPECT_EQ(42, generated.getAge()); |
- EXPECT_EQ(6, name_length); |
- EXPECT(strcmp(name, "person") == 0); |
- free(name); |
- List<uint16_t> name_data = generated.getNameData(); |
- EXPECT_EQ(6, name_data.length()); |
- EXPECT_EQ('p', name_data[0]); |
- EXPECT_EQ('n', name_data[5]); |
- |
- List<Person> children = generated.getChildren(); |
- EXPECT_EQ(10, children.length()); |
- for (int i = 0; i < children.length(); i++) { |
- EXPECT_EQ(12 + i * 2, children[i].getAge()); |
- } |
- generated.Delete(); |
- } |
- |
- ConformanceService::createPersonAsync(10, CreatePersonCallback, NULL); |
- |
- ConformanceService::foo(); |
- ConformanceService::fooAsync(FooCallback, FooCallbackData); |
- |
- { |
- MessageBuilder builder(512); |
- EmptyBuilder empty = builder.initRoot<EmptyBuilder>(); |
- int i = ConformanceService::bar(empty); |
- EXPECT_EQ(24, i); |
- } |
- |
- { |
- MessageBuilder builder(512); |
- EmptyBuilder empty = builder.initRoot<EmptyBuilder>(); |
- ConformanceService::barAsync(empty, BarCallback, BarCallbackData); |
- } |
- |
- EXPECT_EQ(42, ConformanceService::ping()); |
- ConformanceService::pingAsync(PingCallback, NULL); |
- |
- { |
- MessageBuilder builder(512); |
- TableFlipBuilder flip = builder.initRoot<TableFlipBuilder>(); |
- const char* expected_flip = "(╯°□°)╯︵ ┻━┻"; |
- flip.setFlip(expected_flip); |
- TableFlip flip_result = ConformanceService::flipTable(flip); |
- char* result = flip_result.getFlip(); |
- EXPECT(strcmp(result, expected_flip) == 0); |
- free(result); |
- flip_result.Delete(); |
- } |
- |
- { |
- MessageBuilder builder(512); |
- TableFlipBuilder flip = builder.initRoot<TableFlipBuilder>(); |
- flip.setFlip("(╯°□°)╯︵ ┻━┻"); |
- ConformanceService::flipTableAsync(flip, FlipTableCallback, NULL); |
- } |
- |
- { |
- MessageBuilder builder(512); |
- InternalFieldsBuilder internalFields = |
- builder.initRoot<InternalFieldsBuilder>(); |
- internalFields.setOffset(1337); |
- internalFields.setSegment("h4x0r"); |
- ConformanceService::internalizeAsync(internalFields, |
- InternalFieldsCallback, |
- NULL); |
- } |
-} |
- |
-static void RunPersonBoxTests() { |
- MessageBuilder builder(512); |
- |
- PersonBoxBuilder box = builder.initRoot<PersonBoxBuilder>(); |
- PersonBuilder person = box.initPerson(); |
- person.setAge(87); |
- person.setName("fisk"); |
- |
- int age = ConformanceService::getBoxedAge(box); |
- EXPECT_EQ(87, age); |
-} |
- |
-static void BuildNode(NodeBuilder node, int n) { |
- if (n > 1) { |
- ConsBuilder cons = node.initCons(); |
- BuildNode(cons.initFst(), n - 1); |
- BuildNode(cons.initSnd(), n - 1); |
- } else { |
- node.setCond(true); |
- node.setNum(42); |
- } |
-} |
- |
-static void RunNodeTests() { |
- MessageBuilder builder(512); |
- |
- NodeBuilder root = builder.initRoot<NodeBuilder>(); |
- BuildNode(root, 10); |
- int depth = ConformanceService::depth(root); |
- EXPECT_EQ(10, depth); |
- |
- Node node = ConformanceService::createNode(10); |
- EXPECT_EQ(24680, node.ComputeUsed()); |
- EXPECT_EQ(10, Depth(node)); |
- node.Delete(); |
- |
- ConformanceService::createNodeAsync(10, CreateNodeCallback, NULL); |
-} |
- |
-static void InteractWithService() { |
- ConformanceService::setup(); |
- RunPersonTests(); |
- RunPersonBoxTests(); |
- RunNodeTests(); |
- ConformanceService::tearDown(); |
-} |
- |
-int main(int argc, char** argv) { |
- if (argc < 2) { |
- printf("Usage: %s <snapshot>\n", argv[0]); |
- return 1; |
- } |
- SetupConformanceTest(argc, argv); |
- InteractWithService(); |
- TearDownConformanceTest(); |
- return 0; |
-} |