{ "info": { "author": "Mohamed Bassem", "author_email": "medoox240@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "===========\r\ndTests\r\n===========\r\nA python tool to distributively run GCJ/FB hacker cup testcases on several machines.\r\n\r\nHow does it work\r\n====================\r\n* First the splitter runs on the input file to split it into seprate test cases.\r\n\r\n* Test cases with the actuall code are sent to the server.\r\n\r\n* The server distributes the test cases and the actuall code to its registered nodes.\r\n\r\n* Each node computes the result for its testcases and sends the result back to the server\r\n\r\n* The server collects the results and sort them by their testcase number and sends them back to the calling script.\r\n\r\nInstallation\r\n============\r\n::\r\n\r\n pip install dTests\r\n\r\nRunning dTests\r\n==============\r\n* Create new project::\r\n\r\n dtests_job new project_name language\r\n\r\n* The only supported languages now are \"cpp\" and \"java\".\r\n\r\n* Open the new folder and code your splitter to read from the input.in file.\r\n\r\n* Between each test cases print \"--split--\\\\n\". The split marker can be configured in \"config.json\" file. This will split the input file into single test cases which will be distributed on the machines running.\r\n\r\n* Code your program file to read from stdin as if it is reading a single test cases.\r\n\r\n* Run the server ::\r\n\r\n dtests_server\r\n\r\n* Run one or many nodes on other machines ( or for testing on the same machine )::\r\n\r\n dtests_node --host host --port port\r\n\r\n* Finally run the job::\r\n\r\n dtests_job run\r\n\r\n* Check the help of these commands for further customizations\r\n\r\nSample project\r\n==================\r\nThis is a sample cpp project that takes input and multiply it by itself https://github.com/MohamedBassem/dTests/tree/master/samples/power2\r\n\r\n* The config.json file contains the project configuration. The language and the splitter syntax.\r\n\r\n* The splitter.cpp file contains the code that reads the input from the \"input.in\" file and splits it to single test cases.\r\n\r\n* The program.cpp file that reads a single test cases from stdin and computes the result.\r\n\r\n* To Run this project, run the server and at least one node. Then run \"dtests_job run\" in the project's directory.\r\n\r\nTODO\r\n====\r\n* Finding a way to pass the testcase number to the program\r\n\r\n* Writing Tests.\r\n\r\n* Making the system fault tolerant.\r\n\r\n* Finding a better way for splitting the input file.\r\n\r\n* Supporting more programming languages.\r\n\r\nFor more info visit https://github.com/MohamedBassem/dTests\r\n\r\nContributing\r\n============\r\nYour contributions ( Ideas, improvments, etc.. ) are more than welcome.\r\n\r\nLICENSE\r\n=======\r\nLicensed under the `MIT license `_.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/MohamedBassem/dTests", "keywords": "GCJ,tests,distributed", "license": "LICENSE.txt", "maintainer": "", "maintainer_email": "", "name": "dTests", "package_url": "https://pypi.org/project/dTests/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/dTests/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/MohamedBassem/dTests" }, "release_url": "https://pypi.org/project/dTests/0.1.7/", "requires_dist": null, "requires_python": null, "summary": "A python tool to distributively run GCJ/FB hacker cup testcases on several machines.", "version": "0.1.7" }, "last_serial": 1176215, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "636b11f2acac09c25b13e9abd406f3a6", "sha256": "59099c580e46d22f7ee8146166b7af69c9bdacb73dd641ea8d433bf51816110b" }, "downloads": -1, "filename": "dTests-0.1.0.tar.gz", "has_sig": false, "md5_digest": "636b11f2acac09c25b13e9abd406f3a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5834, "upload_time": "2014-07-30T23:13:44", "url": "https://files.pythonhosted.org/packages/4e/9e/1658f17d2e14ec9efa310acba2f7a04f8190bd2dac552becfca8751112a4/dTests-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "8f9d69581565c000fbb4ea82a9a75996", "sha256": "e0421eb60550c8bce954f41e4103560c388296f996265f12655b8bfdb6e23255" }, "downloads": -1, "filename": "dTests-0.1.1.tar.gz", "has_sig": false, "md5_digest": "8f9d69581565c000fbb4ea82a9a75996", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5809, "upload_time": "2014-07-30T23:23:43", "url": "https://files.pythonhosted.org/packages/02/1e/cdd4870b02c7b0e6f6efab2496d6daaff631018b9bc8540a491b0fbf87b8/dTests-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "4c866e562322f6c1e3489d790e138207", "sha256": "c96765c337705926366b837b34c75c00233a05ef69fc54ebcc1a437dd35612b5" }, "downloads": -1, "filename": "dTests-0.1.2.tar.gz", "has_sig": false, "md5_digest": "4c866e562322f6c1e3489d790e138207", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6010, "upload_time": "2014-07-30T23:45:34", "url": "https://files.pythonhosted.org/packages/83/2b/a3de7a5653552310742e5443e83e5c663b3f9d7db82b79df113f70aebe47/dTests-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "3bd67879400a58f3510eee7bf469248c", "sha256": "cbca746b92e70c2cd810c145e3762e5c900906b68896fb9e7bb7e2e6255d6e76" }, "downloads": -1, "filename": "dTests-0.1.3.tar.gz", "has_sig": false, "md5_digest": "3bd67879400a58f3510eee7bf469248c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6018, "upload_time": "2014-07-30T23:56:30", "url": "https://files.pythonhosted.org/packages/15/87/44026c41e58a09ac22b9fe9d54767741986139f63c9440b2afe6893b61d7/dTests-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "3fd86237ffa3bb08f525416366571a13", "sha256": "14b4e28cead246cf3e862544e5b7660abd5f3906e20e4aa3ce034d4b244809b1" }, "downloads": -1, "filename": "dTests-0.1.4.tar.gz", "has_sig": false, "md5_digest": "3fd86237ffa3bb08f525416366571a13", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6325, "upload_time": "2014-07-31T00:30:45", "url": "https://files.pythonhosted.org/packages/ec/2d/fa3eb52f75cb8df0f61285550c7e19c0cdfd98aa9acf8d35b0398eb630d1/dTests-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "7a2a8df0767b27927ae180644ab195ca", "sha256": "60aae6b2ba29d237256ba0732831a1498c2d1e5196297d2952167e767bbbb9a6" }, "downloads": -1, "filename": "dTests-0.1.5.tar.gz", "has_sig": false, "md5_digest": "7a2a8df0767b27927ae180644ab195ca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6326, "upload_time": "2014-07-31T00:34:45", "url": "https://files.pythonhosted.org/packages/a5/3c/82ba401755151707f1c60e2133767b0c3b35fa3218767a3fe3e827247f17/dTests-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "25f34e27cfdb9cf5fb462cc056ed0782", "sha256": "b6e6fdcb6a3697d54511877473e7d82f27aa5d3094fc1a12efa4b2c4c051b27e" }, "downloads": -1, "filename": "dTests-0.1.6.tar.gz", "has_sig": false, "md5_digest": "25f34e27cfdb9cf5fb462cc056ed0782", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6754, "upload_time": "2014-07-31T17:55:20", "url": "https://files.pythonhosted.org/packages/05/2c/f899a6801f9d55cee1618eee58753ba35b85390f41602778c1ac3aac07ad/dTests-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "527a86d3a5dccea04cb53b1371bb5642", "sha256": "0c7326c8e06316ae65ec6f160281a7c0fdfbd05e7fe5e2ee5aa4a2e5523c5d51" }, "downloads": -1, "filename": "dTests-0.1.7.tar.gz", "has_sig": false, "md5_digest": "527a86d3a5dccea04cb53b1371bb5642", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6766, "upload_time": "2014-07-31T22:44:09", "url": "https://files.pythonhosted.org/packages/ef/00/97d567fb99a7c4900f1e0c90bd022001302c407ae89d834c48aa8a714c0d/dTests-0.1.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "527a86d3a5dccea04cb53b1371bb5642", "sha256": "0c7326c8e06316ae65ec6f160281a7c0fdfbd05e7fe5e2ee5aa4a2e5523c5d51" }, "downloads": -1, "filename": "dTests-0.1.7.tar.gz", "has_sig": false, "md5_digest": "527a86d3a5dccea04cb53b1371bb5642", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6766, "upload_time": "2014-07-31T22:44:09", "url": "https://files.pythonhosted.org/packages/ef/00/97d567fb99a7c4900f1e0c90bd022001302c407ae89d834c48aa8a714c0d/dTests-0.1.7.tar.gz" } ] }