diff options
Diffstat (limited to 'demo.cc')
-rw-r--r-- | demo.cc | 37 |
1 files changed, 34 insertions, 3 deletions
@@ -1,9 +1,11 @@ +#include <cassert> #include <cstdlib> #include <dux/io.h> -#include <dux/thr.h> #include <iostream> +#include <zp/str> int main() { + //::dux_pri("dux {i04}.{i04}, demo\n",dux_api,dux_ext); ::std::cout << "dux " << dux_api << '.' << dux_ext << ", demo" << ::std::endl; ::dux_err err = ::dux_err_oky; @@ -23,16 +25,45 @@ int main() { err = ::dux_crt(&fil,"testdir/dux-demo-file",0644u); chkerr("unable to create file"); - err = ::dux_wrtstr(fil, + char const src[] = "static void msg(void);\n" "\n" "int main(void) {\n" "\tmsg();\n" "\treturn 0x45;\n" "}\n" - ); + "\n" + "#include <ly/io.h>\n" + "\n" + "static void msg(void) {\n" + "\tly_wrtstr(ly_dflout,\"flux ftw\\n\");\n" + "} /* Remember the last newline -> */\n"; + + err = ::dux_wrtstr(fil,src); chkerr("unable to write to file"); err = ::dux_cls(fil); chkerr("unable to close file"); + + ::dux_pthinf pthinf; + err = ::dux_sttpth(&pthinf,"testdir/dux-demo-file"); + chkerr("unable to stat file"); + + assert(pthinf.siz == sizeof (src)-0x1u); + + err = ::dux_cpy("testdir/dux-demo-file.c","testdir/dux-demo-file",0644u); + chkerr("unable to copy file"); + + err = ::dux_opn(&fil,"testdir/dux-demo-file.c"); + chkerr("unable to open file"); + + char buf[sizeof (src)]; + + err = ::dux_red(buf,fil,sizeof (src),nullptr); + chkerr("unable to read file"); + + assert(::zp::strequ(buf,src)); + + err = ::dux_cls(fil); + chkerr("unable to close file"); } |