mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-05-23 05:42:29 +00:00
Import some Lua documentation
I personally find it easier to read the documentation in Emacs using JavaDoc style comments.
This commit is contained in:
parent
41b9eb6873
commit
7d25fb0090
16 changed files with 801 additions and 108 deletions
|
@ -29,10 +29,8 @@ TEST(readansi, test) {
|
|||
ASSERT_NE(-1, pipe(fds));
|
||||
ASSERT_NE(-1, (pid = fork()));
|
||||
if (!pid) {
|
||||
close(fds[0]);
|
||||
s = "a\eM\e[A→\e[123;456R\e[>c\eOz\xc2\x9bM";
|
||||
write(fds[1], s, strlen(s));
|
||||
close(fds[1]);
|
||||
_exit(0);
|
||||
}
|
||||
close(fds[1]);
|
||||
|
@ -54,7 +52,6 @@ TEST(readansi, test) {
|
|||
EXPECT_STREQ("\xc2\x9bM", b);
|
||||
EXPECT_EQ(0, readansi(fds[0], b, 16));
|
||||
EXPECT_STREQ("", b);
|
||||
close(fds[0]);
|
||||
ASSERT_NE(-1, wait(&ws));
|
||||
ASSERT_TRUE(WIFEXITED(ws));
|
||||
ASSERT_EQ(0, WEXITSTATUS(ws));
|
||||
|
|
|
@ -27,37 +27,37 @@
|
|||
#define kMaxSize 64
|
||||
|
||||
static const uint64_t kTestKey1[4] = {
|
||||
0x0706050403020100ull,
|
||||
0x0F0E0D0C0B0A0908ull,
|
||||
0x1716151413121110ull,
|
||||
0x1F1E1D1C1B1A1918ull,
|
||||
0x0706050403020100,
|
||||
0x0F0E0D0C0B0A0908,
|
||||
0x1716151413121110,
|
||||
0x1F1E1D1C1B1A1918,
|
||||
};
|
||||
|
||||
static const uint64_t kTestKey2[4] = {1ull, 2ull, 3ull, 4ull};
|
||||
static const uint64_t kTestKey2[4] = {1, 2, 3, 4};
|
||||
|
||||
const uint64_t kExpected64[kMaxSize + 1] = {
|
||||
0x907A56DE22C26E53ull, 0x7EAB43AAC7CDDD78ull, 0xB8D0569AB0B53D62ull,
|
||||
0x5C6BEFAB8A463D80ull, 0xF205A46893007EDAull, 0x2B8A1668E4A94541ull,
|
||||
0xBD4CCC325BEFCA6Full, 0x4D02AE1738F59482ull, 0xE1205108E55F3171ull,
|
||||
0x32D2644EC77A1584ull, 0xF6E10ACDB103A90Bull, 0xC3BBF4615B415C15ull,
|
||||
0x243CC2040063FA9Cull, 0xA89A58CE65E641FFull, 0x24B031A348455A23ull,
|
||||
0x40793F86A449F33Bull, 0xCFAB3489F97EB832ull, 0x19FE67D2C8C5C0E2ull,
|
||||
0x04DD90A69C565CC2ull, 0x75D9518E2371C504ull, 0x38AD9B1141D3DD16ull,
|
||||
0x0264432CCD8A70E0ull, 0xA9DB5A6288683390ull, 0xD7B05492003F028Cull,
|
||||
0x205F615AEA59E51Eull, 0xEEE0C89621052884ull, 0x1BFC1A93A7284F4Full,
|
||||
0x512175B5B70DA91Dull, 0xF71F8976A0A2C639ull, 0xAE093FEF1F84E3E7ull,
|
||||
0x22CA92B01161860Full, 0x9FC7007CCF035A68ull, 0xA0C964D9ECD580FCull,
|
||||
0x2C90F73CA03181FCull, 0x185CF84E5691EB9Eull, 0x4FC1F5EF2752AA9Bull,
|
||||
0xF5B7391A5E0A33EBull, 0xB9B84B83B4E96C9Cull, 0x5E42FE712A5CD9B4ull,
|
||||
0xA150F2F90C3F97DCull, 0x7FA522D75E2D637Dull, 0x181AD0CC0DFFD32Bull,
|
||||
0x3889ED981E854028ull, 0xFB4297E8C586EE2Dull, 0x6D064A45BB28059Cull,
|
||||
0x90563609B3EC860Cull, 0x7AA4FCE94097C666ull, 0x1326BAC06B911E08ull,
|
||||
0xB926168D2B154F34ull, 0x9919848945B1948Dull, 0xA2A98FC534825EBEull,
|
||||
0xE9809095213EF0B6ull, 0x582E5483707BC0E9ull, 0x086E9414A88A6AF5ull,
|
||||
0xEE86B98D20F6743Dull, 0xF89B7FF609B1C0A7ull, 0x4C7D9CC19E22C3E8ull,
|
||||
0x9A97005024562A6Full, 0x5DD41CF423E6EBEFull, 0xDF13609C0468E227ull,
|
||||
0x6E0DA4F64188155Aull, 0xB755BA4B50D7D4A1ull, 0x887A3484647479BDull,
|
||||
0xAB8EEBE9BF2139A0ull, 0x75542C5D4CD2A6FFull,
|
||||
0x907A56DE22C26E53, 0x7EAB43AAC7CDDD78, 0xB8D0569AB0B53D62,
|
||||
0x5C6BEFAB8A463D80, 0xF205A46893007EDA, 0x2B8A1668E4A94541,
|
||||
0xBD4CCC325BEFCA6F, 0x4D02AE1738F59482, 0xE1205108E55F3171,
|
||||
0x32D2644EC77A1584, 0xF6E10ACDB103A90B, 0xC3BBF4615B415C15,
|
||||
0x243CC2040063FA9C, 0xA89A58CE65E641FF, 0x24B031A348455A23,
|
||||
0x40793F86A449F33B, 0xCFAB3489F97EB832, 0x19FE67D2C8C5C0E2,
|
||||
0x04DD90A69C565CC2, 0x75D9518E2371C504, 0x38AD9B1141D3DD16,
|
||||
0x0264432CCD8A70E0, 0xA9DB5A6288683390, 0xD7B05492003F028C,
|
||||
0x205F615AEA59E51E, 0xEEE0C89621052884, 0x1BFC1A93A7284F4F,
|
||||
0x512175B5B70DA91D, 0xF71F8976A0A2C639, 0xAE093FEF1F84E3E7,
|
||||
0x22CA92B01161860F, 0x9FC7007CCF035A68, 0xA0C964D9ECD580FC,
|
||||
0x2C90F73CA03181FC, 0x185CF84E5691EB9E, 0x4FC1F5EF2752AA9B,
|
||||
0xF5B7391A5E0A33EB, 0xB9B84B83B4E96C9C, 0x5E42FE712A5CD9B4,
|
||||
0xA150F2F90C3F97DC, 0x7FA522D75E2D637D, 0x181AD0CC0DFFD32B,
|
||||
0x3889ED981E854028, 0xFB4297E8C586EE2D, 0x6D064A45BB28059C,
|
||||
0x90563609B3EC860C, 0x7AA4FCE94097C666, 0x1326BAC06B911E08,
|
||||
0xB926168D2B154F34, 0x9919848945B1948D, 0xA2A98FC534825EBE,
|
||||
0xE9809095213EF0B6, 0x582E5483707BC0E9, 0x086E9414A88A6AF5,
|
||||
0xEE86B98D20F6743D, 0xF89B7FF609B1C0A7, 0x4C7D9CC19E22C3E8,
|
||||
0x9A97005024562A6F, 0x5DD41CF423E6EBEF, 0xDF13609C0468E227,
|
||||
0x6E0DA4F64188155A, 0xB755BA4B50D7D4A1, 0x887A3484647479BD,
|
||||
0xAB8EEBE9BF2139A0, 0x75542C5D4CD2A6FF,
|
||||
};
|
||||
|
||||
uint32_t KnuthMultiplicativeHash32(const void *buf, size_t size) {
|
||||
|
|
61
test/libc/x/filecmp_test.c
Normal file
61
test/libc/x/filecmp_test.c
Normal file
|
@ -0,0 +1,61 @@
|
|||
/*-*- mode:c;indent-tabs-mode:nil;c-basic-offset:2;tab-width:8;coding:utf-8 -*-│
|
||||
│vi: set net ft=c ts=2 sts=2 sw=2 fenc=utf-8 :vi│
|
||||
╞══════════════════════════════════════════════════════════════════════════════╡
|
||||
│ Copyright 2021 Justine Alexandra Roberts Tunney │
|
||||
│ │
|
||||
│ Permission to use, copy, modify, and/or distribute this software for │
|
||||
│ any purpose with or without fee is hereby granted, provided that the │
|
||||
│ above copyright notice and this permission notice appear in all copies. │
|
||||
│ │
|
||||
│ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL │
|
||||
│ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED │
|
||||
│ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE │
|
||||
│ AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL │
|
||||
│ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR │
|
||||
│ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER │
|
||||
│ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │
|
||||
│ PERFORMANCE OF THIS SOFTWARE. │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/mem/mem.h"
|
||||
#include "libc/rand/rand.h"
|
||||
#include "libc/runtime/gc.internal.h"
|
||||
#include "libc/stdio/stdio.h"
|
||||
#include "libc/sysv/consts/madv.h"
|
||||
#include "libc/sysv/consts/o.h"
|
||||
#include "libc/testlib/ezbench.h"
|
||||
#include "libc/testlib/testlib.h"
|
||||
#include "libc/x/x.h"
|
||||
|
||||
#define N (72 * 1024)
|
||||
|
||||
char p[N];
|
||||
char testlib_enable_tmp_setup_teardown;
|
||||
|
||||
TEST(filecmp, testEqual) {
|
||||
rngset(p, N, rand64, -1);
|
||||
EXPECT_EQ(0, xbarf("a", p, N));
|
||||
EXPECT_EQ(0, xbarf("b", p, N));
|
||||
EXPECT_EQ(0, filecmp("a", "b"));
|
||||
}
|
||||
|
||||
TEST(filecmp, testNotEqual) {
|
||||
rngset(p, N, rand64, -1);
|
||||
EXPECT_EQ(0, xbarf("a", p, N));
|
||||
p[N / 2]++;
|
||||
EXPECT_EQ(0, xbarf("b", p, N));
|
||||
EXPECT_NE(0, filecmp("a", "b"));
|
||||
}
|
||||
|
||||
TEST(filecmp, testDifferentLength) {
|
||||
rngset(p, N, rand64, -1);
|
||||
EXPECT_EQ(0, xbarf("a", p, N));
|
||||
EXPECT_EQ(0, xbarf("b", p, N - 1));
|
||||
EXPECT_NE(0, filecmp("a", "b"));
|
||||
}
|
||||
|
||||
BENCH(filecmp, bench) {
|
||||
rngset(p, N, rand64, -1);
|
||||
EXPECT_EQ(0, xbarf("a", p, N));
|
||||
EXPECT_EQ(0, xbarf("b", p, N));
|
||||
EZBENCH2("filecmp", donothing, filecmp("a", "b"));
|
||||
}
|
|
@ -31,7 +31,9 @@ TEST_LIBC_X_DIRECTDEPS = \
|
|||
LIBC_RUNTIME \
|
||||
LIBC_STDIO \
|
||||
LIBC_STR \
|
||||
LIBC_RAND \
|
||||
LIBC_STUBS \
|
||||
LIBC_SYSV \
|
||||
LIBC_TESTLIB \
|
||||
LIBC_UNICODE \
|
||||
LIBC_X \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue