summaryrefslogtreecommitdiff
path: root/demo.cc
diff options
context:
space:
mode:
Diffstat (limited to 'demo.cc')
-rw-r--r--demo.cc37
1 files changed, 34 insertions, 3 deletions
diff --git a/demo.cc b/demo.cc
index 62bdeed..534c7d9 100644
--- a/demo.cc
+++ b/demo.cc
@@ -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");
}