summaryrefslogtreecommitdiffstats
path: root/tests (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-09-20BlockHandler initialisation is a constant expression (#4891)Tiger Wang3-92/+72
* BlockHandler initialisation is a constant expression If we can't make it all namespaces, this is the next best I guess. + Tag handlers constexpr, const as needed + Inherit constructors * Privatise handler functions * More constexpr Co-authored-by: Alexander Harkness <me@bearbin.net>
2020-09-18Adding Generator For Single Piece Structures (#4830)12xx121-0/+2
* the beginning of a magnificent work - added basic files and classes without functionality * fixed checkstyle * added imports * moved imports * - Adding SinglePieceStructureGen - Adding a cPrefabChestStructure to generate Chests with contents - Added the options and calls to the ComposableGenerator * moved Globals to .h file * removed the chest thingy from the code (for now) * Update SinglePieceStructureGen.cpp * readded whitespace * renamed to SinglePieceStructuresGen for consistency added new classes to test * fixed small things (mostly style and cleanup) removed loottables * added small changes suggested by madmaxoft * small change to documentation * added check for allowed biomes * check only the biome of the origin position * fixed error on IsBiomeAllowed * added new cubesets * updated structures for with sponging * updated biome names * updated metadata to prevent crashing removed debug output * updated structures with sponging * added sponging to deserterWell to make it disappear in sand * small change in meta * rename DesertTemple -> DesertPyramid * minor style changes Co-authored-by: 12xx12 <12xx12100@gmail.com> Co-authored-by: Alexander Harkness <me@bearbin.net>
2020-09-17BlockHandler: no dynamic allocation (#4862)Tiger Wang3-23/+11
* BlockHandler: no dynamic allocation
2020-08-04Fixup test block handler stubsTiger Wang3-51/+3
2020-08-01Replaced cpp14::make_unique<> with std::make_unique<>.Mattes D1-4/+4
2020-07-12More CMake cleanupTiger Wang1-4/+4
2020-07-06Update libevent to 2.1.12-stablePeter Bell2-2/+0
2020-05-16Upgrade to C++17 [CMake] (#4717)Tiger Wang15-109/+32
* Make our CMake slightly less insane
2020-05-10Cleanup unneeded globals (#4736)peterbell105-5/+5
2020-05-09Update submodules (#4727)peterbell103-4/+8
Closes #4708 This updates jsoncpp, mbedtls, TCLAP and SQLiteCpp to their latest stable release. A few additional changes were needed: * jsoncpp deprecated Reader, FastWriter and StyledWriter which I've replaced with some helper functions in JsonUtils.cpp * SQLiteCpp changed how it builds with external sqlite libraries, now expecting them to be installed. The simplest path was to remove sqlite from cuberite's submodule and just use SQLiteCpp's internal version.
2020-05-05Require semi-colon at end of function-like macros (#4719)peterbell103-62/+83
2020-04-21Vector3 in Handlers (#4680)Mattes D3-12/+15
Refactored all cBlockHandler and cItemHandler descendants to use Vector3.
2020-04-17More Vector3 in cBlockHandler (#4644)Mattes D3-3/+3
* cBlockHandler.OnUpdate uses Vector3 params. Also slightly changed how block ticking works.
2020-04-03Manage block entity lifetime with unique_ptr (#4080)peterbell103-10/+6
2020-04-03Pulled the BlockID and BlockInfo headers from Globals.h. (#4591)Mattes D5-45/+79
The BlockID.h file was removed from Globals.h and renamed to BlockType.h (main change) The BlockInfo.h file was removed from Globals.h (main change) The ENUM_BLOCK_ID and ENUM_ITEM_ID enum names were replaced with ENUM_BLOCK_TYPE and ENUM_ITEM_TYPE (cosmetics) The various enums, such as eDimension, eDamageType and eExplosionSource were moved from BlockType.h to Defines.h, together with the helper functions for converting between them and strings (StringToDimension et al.) (minor) Many inline functions were moved from headers to their respective cpp files, so that BlockType.h could be included only into the cpp file, rather than the header. That broke our tests a bit, since they pick bits and pieces out of the main code and provide stubs for the rest; they had to be re-stubbed and re-verified. eMonsterType values are no longer tied to E_ITEM_SPAWN_EGG_META_* values
2020-02-24BlockTypePalette: Improved loading speed in MSVC Debug builds.Mattes D1-2/+2
2019-12-28BlockTypePalette: Load from TSV or original reports' JSON.Mattes D3-222/+143
2019-12-28Moved ProtocolBlockTypePalette functionality into BlockTypePalette.Mattes D6-218/+158
2019-12-28BlockTypePalette: Refactored for usage in both directions.Mattes D1-48/+60
Improves index() lookup speeds and allows BlockTypePalette to be used in place of ProtocolBlockTypePalette.
2019-10-16Refactored block-to-pickup conversion. (#4417)Mattes D3-63/+36
2019-09-29Refactored more of Entities and BlockEntities to use Vector3. (#4403)Mattes D3-13/+12
2019-09-22Add ProtocolBlockTypePalette (#4391)E145-0/+420
2019-09-10Fix race condition in UrlClientTestpeterbell101-15/+16
2019-09-08ChunkGenerator: Changed to use cChunkCoords.Mattes D1-3/+3
2019-09-07Generator: Added repeatability test.Mattes D2-24/+114
2019-09-06Added a BasicGeneratorTest.Mattes D4-1/+336
2019-09-06Separated chunk generator from world / plugin interfaces.Mattes D1-25/+101
The generator now only takes care of servicing synchronous "GetChunk(X, Y)" and "GetBiomes(X, Y)" requests.
2019-09-04Updated LibEvent to release 2.1.11-stable. (#4383)Mattes D1-1/+3
This finally restores my ability to compile on Windows and Linux from the same source folder (on a network drive). LibEvent broke this long ago by writing a config file into the source folder, rather than build folder. Now it's finally fixed.
2019-08-28Added a basic PalettedBlockArea implementation (#4377)Mattes D3-1/+586
2019-08-26Improved testing framework. (#4376)Mattes D17-351/+388
2019-08-24Added BlockState implementation for 1.13 support.Mattes D2-0/+158
2019-08-05BlockTypeRegistry: Added hint manipulationMattes D1-0/+37
2019-08-05BlockTypeRegistry: Initial skeletonMattes D4-0/+348
2018-07-23Optimise chunk set (#4260)peterbell105-14/+39
Closes #1244 Initially I was just going to add the cChunkData to cSetChunkData but profiling revealed that the copying wasn't even the biggest slowdown. Much more time was being spent in cChunk::CreateBlockEntities and cChunk::WakeUpSimulators than was in memcpy so I've made those significantly faster as well. Optimisations performed: * cSetChunkData now stores blocks in a cChunkData object * cChunkData objects can now perform moves even if they are using different pools * cChunk::CreateBlockEntities now iterates in the correct order and only over present chunk sections * Similarly for cChunk::WakeUpSimulators * cSetChunkData::CalculateHeightMap now shortcuts to the highest present chunk section before checking blocks directly
2018-04-08Fix cUUID::Variant (#4213)peterbell101-2/+31
2018-02-20Fix cUrlClient leak (#4125)peterbell101-5/+19
Fixes #4040 * The TCP connection is now shutdown after OnBodyFinished * Any open connections are closed when cNetworkSingleton::Terminate() is called. * Removed ownership cycles in cUrlClientRequest * Added a check to the test to ensure there are no leaks.
2018-02-05Deal with covered switches consistently (#4161)peterbell102-0/+8
* Fixes a number of "<function>: not all control paths return a value" warnings on MSVC. * Introduces the UNREACHABLE global macro and uses it instead of conditionally compiled switch defaults. * Move cNBTParseErrorCategory from FastNBT.h into FastNBT.cpp to prevent bad calls to message()
2018-02-04cChunk and cChunkData: Use vectors for block get and set functions (#4172)peterbell103-99/+99
* cChunkData: Change interface to use Vector3i * cChunk: Add Vector3i overloads for bounded block get and set functions.
2018-01-22CMake: Fix test builds on MSVC (#4131)peterbell101-0/+1
* Add test dependency missing for MSVC builds. * Appveyor builds tests and tools
2018-01-03Add the fmt library (#4065)peterbell1013-9/+27
* Replaces AppendVPrintf with fmt::sprintf * fmt::ArgList now used as a type safe alternative to varargs. * Removed SIZE_T_FMT compatibility macros. fmt::sprintf is fully portable and supports %zu. * Adds FLOG functions to log with fmt's native formatting style.
2017-12-22Fix Travis build (#4101)peterbell101-1/+1
Stop using gdb on osx - was breaking the build Add clang 3.5 build as travis now defaults to 5.0 Fix unknown-warning-option errors on AppleClang ProtoProxy: Use nullptr UrlClientTest: add override to callback destructor Update jsoncpp to use nullptr
2017-11-20cChunkInterface GetBlock, GetBlockMeta, GetBlockTypeMeta use vectors (#4050)Bond-0093-3/+3
2017-09-19Removed UTF-8 BOM (#4033)Lukas Pioch2-2/+2
2017-09-11Add a test for cUUID (#4021)peterbell103-0/+168
2017-08-30Update mbedtls to 2.5.1 (#3964)peterbell102-14/+16
* Renaming changes: * macro prefix "POLARSSL" -> "MBEDTLS" * functions now prefixed with "mbedtls_" * rename PolarSSL++ -> mbedTLS++ * rename polarssl submodule * Use mbedtls' AES-CFB8 implementation. * Add cSslConfig to wrap mbedtls_ssl_config * Update cTCPLink and cBlockingSslClientSocket to use cSslConfig * Use cSslConfig in cHTTPServer * Use cSslConfig for cMojangAPI::SecureRequest * CI Fixes * Set -fomit-frame-pointer on the right target
2017-08-25Add cUUID class (#3871)peterbell108-1/+69
2017-08-21Implement protocol level chunk sparsing (#3864)peterbell101-1/+2
2017-08-01cBlockHandler: take player by refpeterbell103-9/+9
2017-07-28Check for intersection between placed blocks and entities. (#3850)Lane Kolbly3-0/+47
* Check for intersection between placed blocks and entities. + Implemented GetPlacementCollisionBox, to permit custom placement collision boxes for blocks. * Factored block-entity placement checking into another function in cPlayer. - Removed vector min/max functions * Use GetWorld to get the world in DoesPlacingBlocksIntersectEntity. + Added block height checks, allow different cEntity subclasses to decide whether they will prevent block placement.
2017-07-07BigFlower fixes (#3826)peterbell103-3/+3
* BigFlowers fixes * Correct upper part meta * Documented parameters to DoesIgnoreBuildCollision
2017-07-03cBlockInfo static initialisation (#3832)peterbell103-12/+18
2017-06-24cBlockArea supports block entities. (#3795)Mattes D3-0/+87
2017-06-19Removed the LeakFinder for Windows. (#3777)Mattes D7-36/+14
2017-06-15Replace evdns with getaddrinfo and getnameinfo (#3766)peterbell101-0/+6
2017-06-13FastRandom rewrite (#3754)peterbell101-8/+6
2017-05-04Gen: Added a simple PieceGeneratorBFSTree test.Mattes D2-0/+103
2017-05-04Gen: Moved tests to a separate folder, unified shared sources.Mattes D14-337/+27
2017-05-04Gen: Moved PiecePool into a separate file.Mattes D5-8/+8
Also rewritten the PieceGenerator to use std::unique_ptr.
2017-03-28FastRandom: Added test of class re-creation. (#3648)Mattes D1-7/+55
Tests for the precondition of #2935 (re-created cFastRandom generates the same sequence of numbers).
2017-02-13PieceGenerator: Added rotation-aware vertical connectors.Mattes D7-2/+601
2017-01-18DeadlockDetect now lists some tracked CS's stats.Mattes D2-0/+34
2017-01-15Tests: Added LuaState thread stress-test.Mattes D8-0/+580
2017-01-15Moved cPrefab parser self-check to the LoadablePieces test. (#3536)Mattes D3-6/+128
2016-11-13Added strict static_cast to void * in printf.Mattes D1-3/+3
2016-08-24Fixed type-casting-related warnings.Mattes D8-29/+11
2016-08-24HTTP: Fixed empty headers parsing.Mattes D4-1/+17
2016-08-22cUrlClient: Refactored callbacks to use UniquePtr.Mattes D1-8/+8
2016-08-22cTCPLink supports TLS out of the box.Mattes D3-14/+108
2016-08-22UrlClient: Basic HTTP implementation.Mattes D2-3/+185
2016-08-03Fixed cFastRandom Test. (#3291)Alexander Harkness3-0/+116
This resolves #3290
2016-07-18CMake: Remove needless minimum version specifications.Mattes D10-20/+0
2016-06-26Self tests (#3242)Mattes D3-0/+111
* SelfTests: Added a cEvent stress-test. * cNetwork: Fixed startup event hang. The original code used to hang with a ~ 1:50000 chance, because on Linux the cEvent was destroyed before its "Set()" returned.
2016-06-18SelfTests: More logging for EnumInterfaces.Mattes D1-2/+3
2016-06-18SelfTests: Print a quick message on test start.Mattes D13-1/+45
2016-06-18SelfTests: Removed the unneeded cSelfTests class.Mattes D1-28/+0
2016-06-18SelfTests: Fixed HTTPMessageParser tests for out-of-source builds.Mattes D1-5/+5
2016-06-18SelfTests: Fixed missing override keyword in EchoServer.Mattes D1-1/+1
2016-06-18SelfTests: Moved BoundingBox test to a separate project.Mattes D3-0/+125
2016-06-18SelfTests: Moved SchematicFileSerializer test into a separate project.Mattes D4-0/+330
2016-06-18SelfTests: Moved cCompositeChat test to a separate project.Mattes D4-0/+180
2016-06-18SelfTests: Moved ByteBuffer test to a separate project.Mattes D3-2/+129
2016-06-18SelfTests: Organized into solution folders.Mattes D4-1/+40
2016-06-18Moved NetworkInterfaceEnum test to a separate test project.Mattes D2-0/+59
2016-04-23Out of world blocks are now always considered air blocksLogicParrot1-48/+23
2016-03-01WebAdmin uses the new HTTP parser framework.Mattes D6-11/+333
2016-03-01HTTP: Fixed response parser, unified API.Mattes D2-6/+13
2016-03-01Added unit test for parsing HTTP request.Mattes D5-0/+224
2016-01-01Renamed leftover strings to Cuberite / Server, as needed.Mattes D2-3/+3
Also upgraded the user setting file for MSVC to 2013.
2015-12-24Added a Json parser and serializer to Lua API.Mattes D1-0/+9
2015-12-19Added HTTPS links wherever they are supported.Alexander Harkness1-3/+3
2015-12-18Working coverage buildtycho1-0/+4
2015-12-13blockheight mechanismGargaj1-0/+9
2015-12-01Added PieceStructures generator.Mattes D1-0/+4
2015-08-20Fixed and improved restartingTiger Wang1-0/+1
Restarts are now an actual, close-as-possible to application exit+reopen.
2015-07-14Improved mapsTiger Wang1-0/+9
2015-07-01Added neighbor specification in the OnNeighborChanged() block callback.Mattes D1-1/+1
Fixes the OnNeighborChanged endless recursion with large melon / pumpkin fields. Fixes #2213.
2015-06-22Rebased version of CodeSamuel Barney1-9/+0
2015-06-20Added basic support for loading village prefabs from files.Mattes D1-0/+3
2015-06-19Externalized cPrefabPiecePool self-test.Mattes D9-0/+626
2015-05-24Fix clang 3.6 flags to only be used in clang 3.6tycho1-1/+4
2015-05-24Disable -Werror for warnings in tests.tycho3-14/+3
2015-05-23Fix teststycho1-2/+3
2015-05-19Fix teststycho1-0/+7
2015-02-20Network tests: Fixed clang warnings.Mattes D3-3/+3
2015-02-04Exported cServerHandle and cNetwork:Listen to Lua.Mattes D1-0/+1
Also added an example to the NetworkTest plugin.
2015-01-27Added network termination called at app exit.Mattes D3-3/+38
This fixes a crash in MSVC runtime caused by joining a thread in a global var's destructor.
2015-01-22cNetwork: Renamed callback to OnConnected()Mattes D1-1/+1
2015-01-22cNetwork: Added link creation callback.Mattes D2-11/+48
This allows the callback classes to store the link inside them and use it internally later on, mainly for sending data.
2015-01-22cNetwork: Changed listening API.Mattes D1-22/+28
The link-callbacks for each new accepted link are now received from the OnIncomingConnection listen-callback.
2015-01-22cNetwork: Added error message to error callbacks.Mattes D3-8/+8
2015-01-22cNetwork: Fixed race conditions with lookups; proper shutdown.Mattes D1-0/+1
2015-01-22cNetwork: Split the main cpp file into several files.Mattes D1-2/+22
2015-01-22cNetwork: Split cNetworkSingleton to a separate file.Mattes D1-1/+12
2015-01-22cNetwork: Added an OnError callback for listening servers.Mattes D1-0/+5
The callback receives the error details.
2015-01-22cNetwork: Added multithreading protection.Mattes D1-1/+7
2015-01-22cNetwork: Implemented connection shutdown and close.Mattes D1-1/+15
2015-01-22cNetwork: Fixed Linux compilation.Mattes D1-1/+1
2015-01-22cNetwork: Implemented link address getting.Mattes D1-4/+4
2015-01-22cNetwork: Implemented basic server functionality.Mattes D1-1/+67
2015-01-22cNetwork: Implemented IP-to-hostname lookup.Mattes D1-3/+16
2015-01-22cNetwork: Implemented HostnameToIP lookups.Mattes D4-3/+115
2015-01-22Extracted Google connection testTycho3-0/+100
2014-12-13Removed testTiger Wang3-176/+0
2014-11-01Fixed compilation?Tiger Wang1-3/+4
2014-09-27Update creatable.cppworktycho1-0/+1
2014-09-17Fix accedental c++11Tycho1-6/+7
2014-09-17Added first test to show the object can be createdTycho3-0/+173
2014-09-01CopyBlocks test: decreased the test size.madmaxoft1-2/+2
It just needlessly ate up test time; there's no need for such rigorous testing once the test started succeeding.
2014-06-16Merge branch 'master' of github.com:mc-server/MCServerTycho5-14/+80
2014-06-14Added generic Allocation Pool InterfaceTycho5-39/+64
2014-06-14fixed spacesTycho1-1/+1
2014-06-14fixed spacesTycho5-10/+10
2014-06-14fixed compileTycho1-1/+9
2014-05-30Reduced the number of cChunkData::CopyBlockTypes() tests, added progress.Mattes D1-7/+16
2014-05-30Fix bugs in testTycho1-3/+5
2014-05-30Added a cChunkData::CopyBlockTypes() unit test.Mattes D2-0/+68
2014-05-30Fixed cChunkData nibble copying.madmaxoft1-4/+4
2014-05-30Test failures are reported verbosely and into the debug console on Win.madmaxoft1-1/+1
2014-05-30Fixed test return values.madmaxoft2-38/+41
2014-05-29Fixed wrong block sizes for copying / setting.madmaxoft1-16/+16
2014-05-29Fixed test compilation.madmaxoft2-16/+16
2014-05-27Fixed test globals to work with precompiled headersTycho5-143/+4
2014-05-25Fixed bad mergeTycho1-1/+7
2014-05-24inject TestGlobals.h correctlyTycho2-2/+3
2014-05-24Implemented style changesTycho3-176/+87
2014-05-23Implemented Allocation Pool use by cChunkDataTycho4-13/+46
2014-05-21Renamed cChunkBuffer to cChunkDataTycho6-20/+20
2014-05-17C++11Tycho1-0/+8
2014-05-17fixed assignment bugs and Skylight bugTycho1-1/+1
2014-05-17Fix assignment operators testworktycho1-3/+3
2014-05-17Add test for zerosworktycho1-0/+35
2014-05-17Add tests for assignment operatorworktycho1-0/+11
2014-05-17Rewrote array copies testworktycho1-36/+51
Moved each patten test into its own scope to test all unallocated section code paths. Moved 0's around so that they test the allocated sections code paths.
2014-05-11Added some more testsTycho2-116/+242
2014-05-11Added several more testsfor arrays and coordinatesTycho2-1/+5
2014-05-11test 0 valuesTycho1-0/+45
2014-05-11Cerated array copy tests for block and skylightTycho1-0/+36
2014-05-11Fixed a bug in writting zeros to a non-allocated sectionTycho1-93/+111
2014-05-10Fixed stupid buffer overflow in array setblocksTycho1-8/+8
2014-05-10Add arries copies testsTycho1-0/+53
2014-05-10Added new testTycho1-0/+4
2014-05-10Added some more testsTycho2-6/+100
2014-05-10Maybe coverage working?Tycho2-0/+151
2014-05-03cCHunkBuffer that compiles with TestGlobals.hTycho3-1/+14
2014-04-27Added Testing capabilityTycho3-0/+19
2013-12-21Moved some files.Alexander Harkness5-0/+604