/* * test.d * Copyright (C) 2019 Victor Porton <porton@narod.ru> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program. If not, see <https://www.gnu.org/licenses/>. */ module test; import std.stdio; import libcomcom_wrapper; void main(string[] args) { // Tests libComComInitializer(); scope(exit) libComComDestructor(); assert(runCommand("cat", ["cat"], "qwe", 5000) == "qwe"); { char[] buf = new char[1000000]; for(int i=0; i<1000000; ++i) buf[i] = cast(char) (i % 3); assert(runCommand("cat", ["cat"], cast(const) buf, 5000) == buf); } { char[] buf = new char[1000000]; for(int i=0; i<1000000; ++i) buf[i] = cast(char) (i % 3); string output = runCommand("dd", ["dd", "bs=100000", "count=10", "iflag=fullblock"], cast(const) buf, 5000); assert(output == buf); } writeln("Tests passed."); }